gpt4 book ai didi

javascript - jQuery $(document).ready() 在 IE6 中失败

转载 作者:可可西里 更新时间:2023-11-01 02:30:54 25 4
gpt4 key购买 nike

我有以下代码:

// Creates a timer to check for elements popping into the dom            
timer = setInterval(function ()
{
for (p in pixelTypes)
{
checkElems(pixelTypes[p]);
}
}, 10);

// Add Document finished callback.
$(document).ready(function ()
{
// Document is loaded, so stop trying to find new pixels
clearInterval(timer);
});

在 Firefox 中,它工作得很好,但在 IE6 中,我在 $(document).ready 行上收到“Object Expected”错误。

我不知道什么会导致 IE6 无法识别它,此时 jquery 已完全加载。

这是一个已知问题吗?

最佳答案

给感兴趣的人一些提示:

$(document).ready(function() {...});$(function() {...}); 正好意味着一样。后者是前者的简写。

如果您为大型站点开发,使用多个 Javascript 库,或者您开发的插件旨在与其他人的工作兼容,则您不能相信美元符号 ($) 与 jQuery 对象相关联。为了安全起见,请使用以下符号:

(function($) { [your code here] })(jQuery);

这将 jQuery 传递给一个自执行函数,并将 $ 与此函数内的 jQuery 对象相关联。那么 $ 在您的函数之外代表什么并不重要。

回到你的问题,你在报错的时候检查过timer变量是否赋值了吗?我相信浏览器会看到 $(document).ready(function() {...}); 全部作为一行,所以如果你有某种调试器告诉你这是有问题的线,它可能是定时器变量...

最后一件事:在 Javascript 中,将左花括号放在新的一行上是不正确的。由于 Javascripts 分号插入,这可能会导致非常严重的错误。有关更多信息,请阅读 Douglas Crockford 的 Javascript:好的部分:

http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/ref=sr_1_1?ie=UTF8&s=books&qid=1267108736&sr=1-1

无论如何,真的希望我没有让任何人不高兴。希望你能解决问题!

编辑:我不确定这是否是 robertz 所说的完全限定的意思,但据我所知,当一个 URL 是完全限定的时,它意味着没有任何部分丢失,即。它是以 http://或 https://(或其他一些协议(protocol))开头的绝对 URL。如果我错了,请纠正我!

关于javascript - jQuery $(document).ready() 在 IE6 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/463800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com