$(文件)。就绪()后不生火与window.location的

问题描述:

重定向我看了其他问题

jQuery $(document).ready() not firing after window.location.href

jQuery $(document).ready() not firing

Why is $(document).ready not firing for me?

还没有一个解决方案似乎去工作...

我的问题是,jQuery $(文档).ready()没有在Firefox发射,但火在重定向之后的其他浏览器中。我知道js被加载,因为它有一个时间变量附加到最后,以防止缓存。

我试过使用$(window).load()来得到相同的结果。 Firebug不显示错误并显示正在加载的脚本,但是ready()函数上的断点从不触发。

Firefox中是否存在某种安全限制,可能会导致问题,如果有的话,我将如何解决它们?

+4

您可能想发布示例代码以帮助他人跟踪您的问题。事实上,这可能是很多事情。 – 2011-06-02 21:18:04

我一直在使用后退/前进时遇到同样的问题。如果你没有回退/转发这个问题,那很可能是一个错字。但这可能是Firefox的怪异行为。

这里有一个简单的例子,不为我用后退按钮工作(即没有事件触发,重定向不涉及):

<!DOCTYPE html> 
    <html> 
    <head> 
    <title>Simplest JQuery</title> 
    <script type="text/javascript" src="jquery-1.6.1.min.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
     alert("document.ready"); 
    }); 
    </script> 
    </head> 
    <body> 
    <div> 
    Firefox will not fire document ready on back/forward navigation. Except when it 
    does.<br /> 
    <a href="navigate-nowhere.html">Go!</a> 
    </div> 
    </body> 
    </html> 

Firefox是绝对显示当我越来越不同了一些bug来自不同机器上相同代码的行为。使用最新的FF5,它不适用于Windows 7或Leopard。我在Snow Leopard上有另一台机器,它的工作原理就像它在锡上说的那样。

问题不在JQuery中 - 即使将其丢弃并使用addEventListener也没有效果。使用内联事件(即通过body标签中的onload)不起作用。记录为here的“空卸载”技巧也无法正常工作。

也不是扩展的问题 - 我试过把它们全部关掉。我在Leopard机器上尝试了一个干净的安装,没有任何改变。

有趣的是,focus/onfocus事件确实有效 - 除非链接仍在页面中突出显示。在这种情况下,window.onblur事件会在随后触发,但仅在使用Tab切换焦点时才会触发。

直到我能找到一个更好的选择,<body onUnload="">适用于我在FF5。我认为你的问题可能会超出这个修补程序?