contentflow自动启动在Firefox中不起作用

时间:2011-08-31 04:09:11

标签: javascript firefox carousel

我创建了一个带内容流的测试轮播

http://www.invest-champagne-ardenne.fr/test-carousel

除了autostart在firefox中不起作用外,一切都很好。

我已经看了几个小时的解决方案,但我找不到它无效的原因。

你知道吗?谢谢。

1 个答案:

答案 0 :(得分:2)

Web控制台显示以下错误:

  

this.AddOns[B] is undefined @ http://www.invest-champagne-ardenne.fr/design/cadevinstitutionnel/javascript/contentflow.js:37

这来自方法setAddOnConf,它显然是在加载加载项之前调用的。如果你看一下加载项的加载方式:

addScript : function(B) {
  if (this.Browser.IE || this.Browser.WebKit || this.Browser.Konqueror) {
    document.write('<script type="text/javascript" src="' + B
                     + '"><\/script>')
  } else {
    var A = document.createElement("script");
    A.src = B;
    A.setAttribute("type", "text/javascript");
    document.getElementsByTagName("head")[0].appendChild(A)
  }
},

这里我们在contentflow.js中有一个错误 - 这假设动态添加的脚本将在除Internet Explorer和基于WebKit的浏览器之外的所有浏览器中同步加载。这是Firefox不再从Firefox 4开始的事情(有关详细信息,请参阅bug 591981)。最简单的修复:删除if语句并为所有浏览器执行document.write()。另一种选择是将async="false"属性添加到动态插入的脚本中,但我不确定浏览器支持矩阵在这里是什么样的。