代码之家  ›  专栏  ›  技术社区  ›  Dutchie432

jquery-IE和$(document).ready上需要的对象(function());

  •  1
  • Dutchie432  · 技术社区  · 15 年前

    我有一个页面([链接被删除])在Firefox和Chrome中工作得很好,但出于某种原因,我在大多数IE版本(如果不是所有版本)中都会出现“预期对象”错误。

    错误发生在线路上

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

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

    我读了一些书。我已经尝试将ready函数放在代码末尾,就在 </body> 另外,我尝试在执行之前实现一个计时器来让IE加载,但我不能改变这个错误。

    5 回复  |  直到 13 年前
        1
  •  6
  •   Ken Redler    15 年前

    这里有一个问题可能会导致IE在其他浏览器不支持的情况下阻塞:

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

    然后,在您的qtip呼叫中,您有:

    target: 'popPart_WM300BP'
    

    我相信 target takes a jQuery DOM object ,不是字符串。debugbar指向这一行作为“需要对象”的原因。

    最后,看起来这个版本的jquery工具包括jquery 1.4.2。也许1.4.3或1.4.4值得一试。

        2
  •  1
  •   user113716    15 年前

    可能是您使用的URL jquery.tools . 它不见了 http: 部分。

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

    应该是

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

        3
  •  1
  •   Agorreca    14 年前

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

        4
  •  0
  •   Goyuix    15 年前

    你的 $(document).ready 和 $(function(){..} 方法很好——事实上,当我启动了Visual Studio调试器并附加到页面时,这些方法正按预期启动。问题是他们试图调用一个名为 initializePageMain() 那是不存在的,因为某种原因。至于为什么这个函数似乎不存在…我不敢肯定。

    我还将尝试“修复”包含此代码的脚本标记(侧注:为什么在index.js文件中没有定义dotooltips?)像其他脚本标记一样阅读(去掉语言元素:

    <script type="text/javascript"> ... </script>
    
        5
  •  0
  •   keaplogik    13 年前

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

    Math..random();
    

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

    推荐文章