Chrome说“资源被解释为脚本但是使用MIME类型text / plain传输。”,没有服务器

时间:2013-06-06 17:00:34

标签: javascript google-chrome

当没有任何服务器访问时,甚至会出现此问题。 index.html只是访问一些本地存储的JavaScript文件:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <script src="timeline.js"></script>
</head>

<body>
   <p>The Body</p>
</body>
</html>

在浏览器中显示时,Chrome会说:

Resource interpreted as Script but transferred with MIME type text/plain:  
file:///D:/Workspace/timeline/examples/engel-timeline/timelineReusable.v0.0/timeline.js". 

如何取消此消息? (添加'内容类型'没有帮助!)

3 个答案:

答案 0 :(得分:6)

我认为原因是您的脚本是从您的计算机本地加载的。它直接访问该文件,因此这里没有请求标头,这意味着您的JS文件不会包含MIME类型。

如果您在Internet上传文件,则会修复此问题,因为它使用不同的协议(HTTP)。

这个问题应该只在没有服务器时才会发生。如果有服务器,请确保使用服务器的URL,如http://localhost:80/timeline.js。如果这仍然给你一个问题,那么你的服务器的MIME类型需要配置(虽然它只是一个JavaScript文件,所以这不应该是一个问题)。

答案 1 :(得分:5)

尝试打开注册表:HKEY_CLASSES_ROOT \ .js并更改或添加字符串“Content Type”,其值为“text / javascript”

答案 2 :(得分:0)

在这种情况下也会出现错误:

<script type="text/javascript" src="/livehelp/livehelp_js.php>

表示Chrome是问题,代码很好。 Chrome错误地阻止了在php文件中发送的脚本。除了IE 11之外,其他浏览器不会阻止该脚本,并且只有在设置了Apache指令Header set X-Content-Type-Options: "nosniff"时才会阻止该脚本。