【发布时间】:2010-10-12 13:46:34
【问题描述】:
我们有一些地方包含内联 <script> 块,这些块运行代码,由 $(document).ready() 包装。其中一些块使用依赖于其他外部脚本的方法。在正常的页面执行过程中,这种技术可以正常工作,但是当用户在页面完全加载之前离开页面时,会触发 $(document).ready() 事件并且 IE 会左右抛出 "Object does not support this property or method" 错误。
通过一些测试,我发现window.beforeunload 事件在任何ready 事件之前触发,所以我希望能够防止ready 事件在那时被触发。理想情况下,我希望有一个通用的解决方案,这样我就不必修改所有内联代码。
如果这不可能,您是否建议将所有内联代码包装在 try-catch 块中,在执行内联代码之前确定是否已加载所有外部脚本等?
【问题讨论】:
-
您是否在 after jquery 和 before
document.ready调用之前加载您的 jquery 插件? -
所以您要在
onbeforeunload处理程序中插入一个脚本文件? -
可以在几天内升级到 jQuery 1.4.3 吗?它增加了延迟
ready处理程序的能力。 -
@david - 在页面顶部加载 jQuery 库,在底部加载其他外部脚本,并且内嵌脚本贯穿始终
-
@jAndy - 目前在 onbeforeunload 处理程序中没有做任何事情,似乎是一个方便的地方来解决这个问题
标签: javascript jquery internet-explorer javascript-events