禁用 Chrome 严格的 MIME 类型检查

新手上路,请多包涵

有没有办法在 Chrome 中禁用 strict MIME type checking

实际上我正在跨域上发出 JSONP 请求。它在 Firefox 上运行良好,但是在使用 chrome 时它在控制台中给出了一些错误。

拒绝执行来自“ https://example.com ”的脚本,因为它的 MIME 类型(“text/plain”)不可执行,并且启用了严格的 MIME 类型检查。

它在 Mozilla 中完美运行。问题仅在 chrome 中出现

这是请求的响应标头..

 Cache-Control:no-cache, no-store
Connection:Keep-Alive
Content-Length:29303
Content-Type:text/plain;charset=ISO-8859-1
Date: xxxx
Expires:-1
Keep-Alive:timeout=5
max-age:Thu, 01 Jan 1970 00:00:00 GMT
pragma:no-cache
Set-Cookie:xxxx
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options:nosniff
X-Frame-Options:SAMEORIGIN

我认为的解决方法:外部将内容类型设置为 application/javascript

原文由 Atul Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

服务器应该为 JSONP 响应正确的 MIME 类型 application/javascript 你的请求应该告诉 jQuery 你正在加载 JSONP dataType: 'jsonp'

请参阅 此答案 以获取更多详细信息!你也 可以看看这个,因为它解释了为什么加载 .js 文件 text/plain 不起作用。

原文由 Gregoire 发布,翻译遵循 CC BY-SA 3.0 许可协议

就我而言,我关闭了 X-Content-Type-Options on nginx 然后工作正常。但是请确保这会稍微降低您的安全级别。将是一个暂时的修复。

 # Not work
add_header X-Content-Type-Options nosniff;
# OK (comment out)
#add_header X-Content-Type-Options nosniff;

对于 apache 也是一样的。

 <IfModule mod_headers.c>
  #Header set X-Content-Type-Options nosniff
</IfModule>

原文由 kujiy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏