2011-10-18 47 views
3

我在页面上使用了jCarousel Lite jQuery plugin,但它似乎在Firefox 3.6中造成严重问题。在该浏览器中,该页面会暂时加载,然后所有内容都会消失,除了我正在使用插件的<li>元素之一。JavaScript在Firefox中打开一页3.6

相关页面是here。采用旋转木马代码:

<script type="text/javascript"> 

    jQuery(window).load(function() { 
     jQuery(".loopnetcarousel").jCarouselLite({ 
      btnNext: ".next", 
      btnPrev: ".prev" 
     }); 
    }); 

</script> 

(我最初使用(document).ready,而是换成与(window).load看到,有些人在Firefox 3.6与它的问题,但似乎并没有改变任何东西后)。

更多信息:如果我在所有页面内容被替换之前停止页面加载,如上所述,一切正常,包括传送带。此外,我试图用另一个替换该旋转木马脚本,并发生同样的问题。

+3

Firebug错误控制台告诉你什么? –

+0

该页面似乎不断加载,并在控制台(但在信息选项卡,而不是错误标签)中显示“重新加载以激活窗口控制台”。 –

+0

如果Firebug说“重新加载”,则在加载后您打开并启用了该网站的Firebug,因此您只需执行所述操作并使用Firebug启用后重新加载页面即可。如果你不知道这个问题,看看你是否可以在http://jsfiddle.net/上创建一个最小的测试用例。 –

回答

3

貌似问题是loopnet.com属性装载的方式。 loopnet.com脚本使用document.write来创建轮播内容。如果您查看Firebug中的Net选项卡,您将看到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删除()行,你会看到同样的问题,因为你的网站。

+0

这个完美的作品。谢谢。 –

0

在网站上,该插件:

根据大家的要求, jCarouselLite已更新为支持jQuery 1.2.x版本。转到下载页面并下载版本1.0.1以享受jquery 1.2.x支持。由于Firefox 3在$(document).ready()函数中存在一些问题,因此如果遇到任何问题,请尝试使用$(window).load()。希望未来版本的Firefox或jQuery能够解决这个问题。

来自http://www.gmarwaha.com/blog/2007/08/09/jcarousel-lite-a-jquery-plugin/

+0

他使用window.load? – rickyduck

+1

错过了。只是搜索问题。抱歉。 –