当包含本地脚本文件时,我在 Google Chrome 中收到“资源解释为脚本但使用 MIME 类型文本/纯文本传输”警告。
我知道从服务器或通过 ajax 加载文件时会出现问题,这通常取决于设置了错误的 header 。
奇怪的是,即使它是从本地文件夹运行的,我也会收到此警告:file:///C:/test/foo.html
这只发生在 Chrome 中,最基本的 html 有:
<!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 安装程序必须向注册表添加错误行。
打开 regedit
并查看此注册表项:
看到那把 key 了吗?内容类型键? 将其值从 text/plain 更改为 text/javascript。
Chrome 终于可以松口气了。
我应该注意,Windows 7 默认情况下 Content Type 和 PercievedType 都不存在,因此您可以安全地删除它们,但您至少需要做的是编辑。
无论如何,我希望这也能为您解决这个问题!
关于javascript - 资源解释为脚本但使用 MIME 类型文本/纯文本传输 - 对于本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12003107/