代码之家  ›  专栏  ›  技术社区  ›  Traveling Tech Guy

为什么IE8不能识别脚本标记中的type=“application/javascript”?

  •  10
  • Traveling Tech Guy  · 技术社区  · 16 年前

    我开发了一个使用jquery和ajax的HTML页面。我有以下几行 <head> 标签:

    <script language="javascript" type="application/javascript" src="script/jquery.js"></script>
    <script language="javascript" type="application/javascript">
        function someFunction() {
            some code;
        }
    </script>
        ...
    
      later - down in the body tag:
    <a href="javascript:someFunction();">click here</a>
    

    它在FF和Chrome中工作得很好,但我一点击链接,它就在IE8中抛出了一个“预期对象”。即使启用了脚本调试程序,它也不会到达函数的第一行。
    我试图切换到IE7模式,或IE8兼容模式-没有用。

    我很幸运,通过谷歌发现了一个问题,有人建议修改 type <script> 标记为 "text/javascript" 现在它可以在所有3种浏览器中工作。

    我的问题是:我做错了什么?是 “文本/javascript” "application/javascript" 还是有更好的解决方法来解决我的问题?

    2 回复  |  直到 16 年前
        1
  •  22
  •   geowa4    16 年前

    “text/javascript”是三种浏览器都支持的唯一类型。但是,实际上不需要输入类型。如果没有另外指定,脚本标记的type属性将默认为“text/javascript”。这将如何影响验证,我不确定。但这真的很重要吗?

        2
  •  2
  •   meder omuraliev    16 年前

    简单的答案是IE不支持application/javascript的类型值。推荐它的RFC4329显然是在IE6发布之后发布的,我想MS开发人员甚至不觉得需要支持mime类型。

    推荐文章