【问题标题】:jquery IE8 $(document).ready "object expected" errorjquery IE8 $(document).ready "object expected" 错误
【发布时间】:2012-08-08 16:35:33
【问题描述】:

在使用 jquery 命令$(document).ready() 加载页面时,我遇到了 IE8 引发“预期对象”错误的问题。我已经浏览了我可以在 SO 上找到的所有其他帖子,但似乎没有一个解决方案有效。

为了解决问题,我创建了以下 html,它在 Firefox 和 Chrome 中运行良好,但在 $(document).ready 行产生了“预期对象”错误。到目前为止:

  1. 我已确认它正在访问 google jquery 文件 - 并尝试引用本地 jquery.js 文件 - 结果相同。
  2. 尝试将脚本放在<head> 中(我已将其包含在正文中以重现我正在开发的网站上的情况)
  3. 我也尝试过使用 jQuery(document) 而不是 $ - 结果相同
  4. 尝试包括:var $j=jQuery.noConflict(); 和包括$j(document),在$j 声明中出现“jQuery 未定义”错误。

我错过了什么?任何帮助表示赞赏!谢谢!

<html>
<head>
    <script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
</head>
<body>
    <script type="text/javascript">
        $(document).ready(function(){
    alert("WORKING!");
    });

</script>

<div id="test">
</div>
</body></html>

【问题讨论】:

  • 这不是你的问题,只是想提一下$(function(){ ... })$(document).ready(function(){ ... }); 的简写。
  • 这与运行 IE8 的计算机和损坏的 .dll 文件有关。您很可能可以使用另一台计算机运行它,它会工作。
  • @Esailija:我认为 IE 8 一个损坏的 dll 文件。 /snark
  • Hmm.. 适用于 Firefox 和 chrome,所以链接应该很好。除非 IE 不是……啊哈!脚本链接需要是 type="text/javascript"。现在可以使用...谢谢!

标签: jquery object internet-explorer-8 object-expected


【解决方案1】:

伙计,检查你的两个脚本标签。一个说type="application/javascript",另一个说type="text/javascript"

将第一个更改为type="text/javascript",它将正常工作。

【讨论】:

  • 即使忽略该脚本标记,它也不会给出此错误。它会说类似$ is undefined 之类的东西。在我的 IE8 中:"The value of the property '$' is null or undefined, not a Function object"
  • 告诉你! :) 在 jsfiddle 中测试并复制了这个。
  • 什么 OS/IE8 的确切版本?我逐字复制了他的代码并得到了我提到的错误:P
  • Win7 企业版 + IE8 8.0.7601.17514
  • @KevinB 是的,我知道,我在模板中使用了这个技巧,因为定义了类型但不正确的脚本标签会被忽略。
【解决方案2】:

遇到了同样的问题。我通过努力奋斗了一段时间来解决这个问题,并尝试了一堆不起作用的想法。 但这项工作:)

检查你的 jquery 脚本标签。如果它包含这样的 type="text/javascript"

<script  type="text/javascript" src="~/scripts/jquery-1.9.0.js"></script>

然后用“javascript”替换“text/javascript”

<script type="javascript" src="~/scripts/jquery-1.9.0.js"></script>

真的很奇怪的行为,但它的工作原理。如果有人对此有很好的解释,请发布答案。

注意!这仅适用于 IE8,不适用于 Chrome 或 Firefox!

【讨论】:

    【解决方案3】:

    刚刚也遇到了这个错误。

    我的问题非常愚蠢:我在虚拟机中运行 Internet Explorer。这台机器无法访问互联网,只能访问我运行网络服务器的主机系统。 因此,外部脚本引用当然无法解析。

    【讨论】:

      【解决方案4】:

      这东西帮我换了

      type="text/javascript" 
      

      进入

      language="javascript"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-20
        • 2013-07-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多