jQuery - 在IE和$(document).ready(function(){})上预期的对象;

时间:2010-11-16 22:13:52

标签: jquery internet-explorer jquery-tools document-ready

我有一个页面([LINK REMOVED])在FireFox和Chrome中运行得很好,但由于某种原因,我在大多数(如果不是所有版本的)IE版本中都出现“预期的对象”错误。

错误发生在

行上
$(document).ready(function() {
    //^ Error occurs here ^
    ...
}

我正在使用jQuery Tools,它实现了jQuery 1.4.2,以及其他一些东西。

我做了一些阅读。我已经尝试将准备好的函数放在代码的末尾,就在</body>标记之前 - 此外,我已经尝试实现一个计时器让IE在执行之前加载,我无法动摇这个错误

5 个答案:

答案 0 :(得分:6)

这是一个可能导致IE扼杀其他浏览器可能不在的地方的问题:

$('#' + resultDivName).animate({
  height: '300px', // <=== TRAILING COMMA
}, 500, function() {
  // Animation complete.
});  

然后,在您的qtip通话中,您有:

target: 'popPart_WM300BP'

我相信target takes a jQuery DOM object,而不是字符串。 DebugBar指向此行作为“预期对象”的原因。

最后,看起来这个版本的jQuery Tools包含了jQuery 1.4.2。也许1.4.3或1.4.4值得一试。

答案 1 :(得分:1)

可能是您用于jquery.tools的网址。缺少http:部分。

  

// cdn.jquerytools.org/1.2.5/jquery.tools.min.js

应该是

  

http://cdn.jquerytools.org/1.2.5/jquery.tools.min.js

答案 2 :(得分:1)

如果您正在通过HTTPS连接进行测试,请检查您是否仅选择查看安全传送的内容。如果您选择YES,则可能不会加载脚本。

答案 3 :(得分:0)

您的$(document).ready$(function(){..}方法很好 - 实际上当我启动Visual Studio调试器并附加到页面时,这些方法按预期启动。问题是他们试图调用一个名为initializePageMain()的函数,该函数由于某种原因不存在。至于为什么这个功能似乎不存在......我不确定。

我还会尝试“修复”包含此代码的脚本标记(旁注:为什么不在index.js文件中定义doToolTips?)来读取其他脚本标记(去掉语言元素) :

<script type="text/javascript"> ... </script>

答案 4 :(得分:0)

这是在IE中导致此错误的另一个gem

Math..random();

这两个点(..)会毁了你。

相关问题