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

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

该错误发生在该行上

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

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

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

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

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

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

 target: 'popPart_WM300BP' 

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

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

可能是你用于jquery.tools的url。 缺少http:部分。

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

应该

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

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

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

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

  

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

 Math..random(); 

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