Javascript 在 Firefox 3.6 中破坏页面

标签 javascript jquery firefox

我正在使用 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/

相关文章:

javascript - JavaScript 上的 SOAP 服务调用在 Safari 中有效,但在 Chrome 或 Firefox 中无效

javascript - Chrome 和 Firefox 的 window.close() 方法的替代方法

javascript - JQuery 检查点击的 li 是否有子 ol/ul

JavaScript - DIV 的可见文本

javascript - 未捕获的语法错误 : missing ) after argument list javascript error

如果div存在,Javascript显示html

jquery - ASP.NET 4 jquery ajax webmethod 调用

javascript - 在 jquery 插件中维护状态

javascript - 使用 JavaScript 获取任意 URL

javascript - 在javascript中跨域访问css文件中的CSS类