我正在使用 jCarousel Lite jQuery plugin在一个页面上,但它似乎在 Firefox 3.6 中引起了严重的问题。在该浏览器中,页面短暂加载,然后所有内容消失,除了 <li>
之一。我正在使用插件的元素。
有问题的页面是here .应用轮播的代码:
<script type="text/javascript">
jQuery(window).load(function() {
jQuery(".loopnetcarousel").jCarouselLite({
btnNext: ".next",
btnPrev: ".prev"
});
});
</script>
(我最初使用的是 (document).ready
,但在看到有些人在 Firefox 3.6 中遇到问题后将其替换为 (window).load
,但这似乎没有任何改变)。
更多信息:如果我在按照描述替换所有页面内容之前停止页面加载,则一切正常,包括轮播。另外,我尝试用另一个脚本替换那个轮播脚本,但出现了同样的问题。
最佳答案
看起来问题出在 loopnet.com 属性的加载方式上。 loopnet.com 脚本使用 document.write 创建轮播内容。如果您查看 Firebug 中的网络选项卡,您会看到 loopnet.com 脚本都被加载了两次。首先是在页面加载时,然后是轮播脚本运行时。第二次在 Firefox 中运行时,document.write 只是清除了整个页面。一个简单的修复方法是在设置轮播代码之前删除脚本标签。 jsFiddle 示例:http://jsfiddle.net/fqFH7/7/
$(function() {
//remove the scripts so that they are not executed again by the carousel code
jQuery(".loopnetcarousel script").remove();
jQuery(".loopnetcarousel").jCarouselLite({
btnNext: ".next",
btnPrev: ".prev"
});
});
尝试注释掉 jsFiddle 中的 remove() 行,您会看到与您的站点相同的问题。
关于Javascript 在 Firefox 3.6 中破坏页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7812988/