【问题标题】:JQuery’s $(document).ready is not always being called, is it a known issue?JQuery $(document).ready 并不总是被调用,这是一个已知问题吗?
【发布时间】:2013-08-29 01:57:17
【问题描述】:

我正在 IE9 中测试我的脚本。我注意到 $(document).ready 并不总是被调用。这意味着 $(document).ready 引用的函数的 8 次中有 1 次没有被调用。

只要我将 $(document).ready 调用移到文档末尾,它就会完美运行。仅当我将 $(document).ready 调用移至该部分时才会出现问题。

我通读了在 IE6 中确认此问题的博客文章: http://webbugtrack.blogspot.ca/2007/08/bug-153-self-closing-script-tag-issues.html

考虑到 JQuery 的声誉,我对这个问题感到惊讶。这是 JQuery 的已知问题/错误和解决方法吗?还是我错过了什么?

谢谢,

更新:

我只是想更新一下这个问题:

脚本在其他浏览器(Chrome 和 FF)上运行良好,只有我的开发机器的 IE 有问题。一旦我重置 IE(在 IS 设置的高级选项卡上重置和恢复)$(document).ready 开始按预期工作。所以我知道解决办法,但我想知道根本原因。

虽然我对 IE 的不稳定行为感到失望,但这个案例留下了一个悬而未决的问题: IE 的一项设置改变了 $(document).ready 的行为方式,它导致了我在这篇文章中解释的问题。有人知道是哪个设置导致了这个问题吗?

【问题讨论】:

  • 如果是自关闭脚本问题,只要正确关闭脚本即可;这显然是 IE 中的错误,而不是 jQuery...
  • 我从来没有遇到过$(document).ready 的问题。你能告诉我们你的代码吗?我认为其他问题是问题。
  • 确保 jQuery 脚本在 $(document).ready 执行之前完成加载,否则 $ 将未定义并且不会运行
  • 我在去年设计了3个大型程序,其中一个运行在SharePoint上,所有跨浏览器兼容IE7-9、Chrome、FF、Safari和Opera,我已经从未也看到过您所指的问题?我们可以看看你的例子吗?
  • 另外,请注意,如果您使用的是新版本的 jQuery (1.6+),则不必再编写那么长的旧行,将其替换为 $(function() { /* do jQuery Work */ })

标签: jquery


【解决方案1】:

听起来您可能正在使用 jQuery 1.8.0。

jQuery 1.8.0 引入了一个错误,导致 ready 方法在 IE9 中过早触发。

该错误已在 1.8.1 中修复,并且在 1.8.2 中仍然修复。如果您当前使用的是 1.8.0,升级到这两个版本中的任何一个都应该可以解决该问题。

在 1.8.1 http://blog.jquery.com/2012/08/30/jquery-1-8-1-released/ 的发行说明中提到了该错误

这是票:http://bugs.jquery.com/ticket/12282

【讨论】:

  • 这个“bug”的文档在哪里,因为我还没有看到问题,现在正试图强制它,使用 1.8!
  • 嗨 Kevin B,我正在使用 jquery-ui-1.8.23。
【解决方案2】:

我已经能够重现此问题。这个问题是零星的。我正在使用数据表和 jquery 版本 jquery-1.10.2。我已经确认没有触发 ready 事件。 为了重现,IE 页面通过链接打开目标窗口名称。
例如 转到第 2 页

单击该链接会打开一个新选项卡,其中包含一个带有数据表的页面。我将把这个新页面称为page#2,将它称为page#1。我没有关闭第 2 页。我返回第 1 页并再次单击该链接。如果我在选项卡(page#1 和 page#2)之间切换,我可以看到每 4 次尝试中大约有 1 次 page#2 没有与数据表(仅表)一起呈现。此外,浏览器窗口的左下角显示黄色感叹号。

【讨论】:

  • 我的错...看起来 IE 无法容忍 2 $(document).ready(function() {} ...我的代码中有 2 个。页面上的一个和一个来自包含
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多