【问题标题】:Resource interpreted as Script but transferred with MIME type text/plain - for local file资源解释为脚本,但使用 MIME 类型 text/plain 传输 - 用于本地文件
【发布时间】:2012-08-13 17:50:54
【问题描述】:

当包含本地脚本文件时,我在 Google Chrome 中收到“资源解释为脚本但以 MIME 类型文本/纯文本传输”警告。

我知道从服务器或通过 ajax 加载文件时会出现问题,这通常取决于设置了错误的标头。

奇怪的是,即使它是从本地文件夹运行的,我也会收到此警告:file:///C:/test/foo.html

这种情况只发生在具有最基本 html 的 Chrome 中:

<!DOCTYPE html>
    <html>
    <head>
        <script type="text/javascript" src="bar.js"></script>
    </head>
    <body>
    </body>
</html>

bar.js 也很简单:

function hello() {}

我尝试添加元标记:

<meta http-equiv="content-script-type" content="text/javascript">

并使用其他文档类型进行了测试,但似乎没有任何帮助。

这显然不是一个真正的问题,因为脚本仍然可以正常工作,但我正在处理一个大型项目,目前包含大约 150 个脚本。因此,很难看到它们之间何时发生实际警告。

当我在本地或远程服务器上运行文件时,一切正常。

关于为什么 chrome 让我烦恼的任何想法?

【问题讨论】:

  • 您前几天没有碰巧安装了最新的 Visual Studio,是吗?这开始发生在我身上,这是唯一改变的事情......
  • 是的,几周前的 VS Express 2012 RC。我也考虑过这一点,所以我用记事本++创建了文件,但问题仍然存在。如果 VS 导致了这种情况,那么他们一定改变了一些全局设置/参数?问题是什么,我该如何改回来?
  • 我仍在尝试找出同样的问题。这似乎是一个全球性的事情,它恰好发生在我安装 VS2012 之后。如果我有什么发现,我会告诉你的。需要明确的是,我实际上并没有使用 Visual Studio 进行文件编辑,这让它变得陌生。

标签: javascript html google-chrome mime-types


【解决方案1】:

我尝试使用此方法解决此问题,但它对我不起作用。

我的问题是 IIS 管理器在 HTTP 功能中没有 MIME 类型。

我可以通过...启用静态上下文来打开它

--> 控制面板

--> 程序

--> 打开或关闭 Windows 功能

--> 互联网信息服务

--> 万维网服务

--> HTTP 常用特性

--> [X] 静态内容。

在这之后,MIME 类型出现了,一切又开始工作了。

【讨论】:

    【解决方案2】:

    接受的答案是一个很好的答案!但是,只是为像我这样遇到问题的人发布答案,他们有时使用部门/学院计算机,我无权更改 regedit 中的任何键值。

    改变

    &lt;script type="text/javascript" src="main.js"&gt;&lt;/script&gt;

    &lt;script src="main.js"&gt;&lt;/script&gt;

    虽然错误信息仍然存在,但页面加载正确。

    【讨论】:

    • 但是 OP 的问题是页面加载正确,但他仍然收到错误消息。这似乎没有任何改变。
    【解决方案3】:

    我想通了!

    Visual Studio 安装程序必须在注册表中添加了错误行。

    打开 regedit 并查看此注册表项:

    看到那把钥匙了吗?内容类型键? 将其值从 text/plain 更改为 text/javascript。

    chrome 终于可以再次轻松呼吸了。

    我应该注意的是,在 Windows 7 上默认情况下既不存在 Content Type 也不存在 PercievedType,因此您可能可以安全地删除它们,但您需要做的最低限度是编辑。

    无论如何,我希望这也能为您解决问题!

    【讨论】:

    • 你干得好!寻找解决这个烦恼的方法。我没有删除密钥,而是将数据值更改为 text/javascript。谢谢!
    • 哈哈我改成text/script还是不行,也许我应该试试text/javascript!
    • 感谢您的解决方案!我遇到了同样的问题...实际上,对于我来说,使用 MIME 类型纯文本/文本时,javascript 代码会引发错误。我有一些字符串(在一个数组中),其中包含在东欧语言(如“ő”)中发现的 UTF-8 编码中的字母。 “Gergő”是一个很好的普通匈牙利名字。感谢上帝,错误也消失了,因为我无法运行我的代码 - 但我没有进一步调查。
    • 哇,你是怎么发现这个解决方案的?
    • @Pakman 有一天我遇到了问题,然后我买了一台新电脑并没有出现问题。然后,当我安装 Visual Studio 2012 时,我注意到它重新出现了,所以我认为这是罪魁祸首。我认为它改变了注册表文件关联中的某些内容,因为我所有的.js 文件都有.txt 外观图标,所以我去确保它们与正确的数据类型相关联。他们不是!
    猜你喜欢
    • 2013-08-03
    • 2020-05-06
    • 2012-06-18
    • 2012-11-23
    • 2011-07-18
    • 2014-07-12
    • 2014-12-01
    • 2014-07-15
    • 1970-01-01
    相关资源
    最近更新 更多