我创建了一个带内容流的测试轮播
http://www.invest-champagne-ardenne.fr/test-carousel
除了autostart在firefox中不起作用外,一切都很好。
我已经看了几个小时的解决方案,但我找不到它无效的原因。
你知道吗?谢谢。答案 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"
属性添加到动态插入的脚本中,但我不确定浏览器支持矩阵在这里是什么样的。