【问题标题】:<script type="text/javascript"> Resource interpreted as Other but transferred with MIME type undefined<script type="text/javascript"> 资源解释为“其他”,但传输的 MIME 类型未定义
【发布时间】:2012-01-16 10:42:55
【问题描述】:

是否有可能在脚本的"language"没有明确定义的地方,JavaScript不会被执行?

<script type="text/javascript">

嵌入到 JSP / HTML 页面的这段 JavaScript。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    script 标签的语言属性几乎被普遍贬低;你不再需要它了。

    此外,如果 HTML5 是 Javascript,则不需要 type 属性,但您可能希望为旧版浏览器保留它。

    http://css-tricks.com/15276-the-script-tag/

    【讨论】:

      【解决方案2】:

      无论出于何种原因,这都无关紧要。它只是说它只是作为一个页面下载的,但浏览器将其解释为 JavaScript。

      【讨论】:

        【解决方案3】:

        文件的 MIME-Type 由服务器设置。对于 JS 文件,应返回 text/javascript 的 MIME-Type。这里没有这样做,这就是你收到通知的原因。

        &lt;script&gt; 中的 language 属性已弃用。

        <script type="text/javascript">
        

        是正确的。

        另见:What is the difference between "lang" and "type" attributes in a script tag?

        MIME 类型是服务器随请求的任何文件一起发送的标头。客户当然可以随意忽略它。通常,如果您的文件是 *.js 文件,您的网络服务器将为您选择正确的 MIME 类型,如果您的文件是返回 JavaScript 文件的 .jsp 脚本,那么您可能需要自己设置 MIME 类型标头,这在大多数语言中是相当微不足道的,我不知道如何在 JSP 中做到这一点,但在 PHP 中它是: header("MIME-Type: text/javascript");在您开始回显实际内容之前的任何位置。

        【讨论】:

        • 嗨 Campen,您能否分享一下您是如何得出 MIME 类型由服务器设置的结论的?我发现这是最接近的线索。无论如何,我们可以影响这一点吗?因此,我的一些 javascripts 被忽略(例如未执行)。
        • MIME 类型是服务器随请求的任何文件一起发送的标头。客户当然可以随意忽略它。通常,如果您的文件是 *.js 文件,您的网络服务器会为您选择正确的 MIME 类型,如果您的文件是 返回 JavaScript 文件的 .jsp 脚本,那么您可能需要设置自己的 MIME 类型标头,这在大多数语言中都相当简单,我不知道如何在 JSP 中做到这一点,但在 PHP 中它是:header("MIME-Type: text/javascript"); 在您开始回显实际内容之前的任何位置。
        【解决方案4】:

        从错误消息“资源解释为其他但传输的 MIME 类型未定义”看来,这似乎不是 javascript 问题。请使用一些浏览器扩展工具监控所有响应,检查服务器是否返回任何特殊资源或文件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-11-26
          • 2017-06-03
          • 2014-07-15
          • 2011-12-29
          • 2020-05-06
          • 2012-06-18
          • 2011-04-23
          相关资源
          最近更新 更多