我在 IE6 中遇到了 $(document).ready 未执行的问题,但只有在清除临时 Internet 文件之后(所以实际上是第一次加载此页面)。刷新页面或稍后加载页面时,一切正常。
这是当前设置:
带有框架的门户页面,该门户页面还有一个 window.load 方法(也许我们在 jQuery 就绪时遇到了竞争问题??):
window.onload = function () { try { expireCookie("COOKIE%2DID"); loadMenu(); } catch (pcbException) { reportError(pcbException); } }
- 在此门户页面中,将加载我们当前的页面。在本页底部我们有:
<script language="javascript">
try{
$("#CR").remove();
} catch(ex){ }
$(document).ready(function() { alert(typeof $); // check if method is getting executed RendererPageIsLoading(); // loads data in comboboxes and hides divs });
</script> </body>
我正在使用最新版本的 jQuery (1.4.2)。 编辑:jquery 正在当前页面的头部加载:
<script language="javascript" type="text/javascript" src="https://fulldomain/js/jquery.js"></script>
以下主题没有带来任何解决方案: jQuery $(document).ready() failing in IE6
最佳答案
有人建议(他后来删除了他的答案)将方法附加到 window.onload 确实分离了 $(document).ready() 事件中定义的方法。但是,由于该错误仅在第一次加载页面时发生,因此我认为这必须是缓存问题。
经过进一步调查,我们发现 IE6 存在无法正确加载透明 png 的问题。因此,浏览器正在等待图像加载,而 IE6 在触发 DOM 就绪事件之前会等待图像。
结论:如果 IE6 出现问题,还要检查透明 png 图像。
关于javascript - jQuery $(document).ready() 在 IE6 中失败,但仅在清除临时 Internet 文件后才失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2689458/