“资源被解释为脚本,但以 MIME 类型 text/html 传输."

2022-01-17 00:00:00 http-headers macos jquery javascript safari

很抱歉,如果这是实际重复,但我还没有设法找到我的问题的答案.

Sorry if this is actual duplicate but I haven't managed to find answer for my problem.

我使用 jQuery 的 $.getScript 加载脚本.但它会导致以下错误:

I load the script with jQuery's $.getScript. But it causes the following error:

资源被解释为脚本,但以 MIME 类型 text/html 传输.

Resource interpreted as script but transferred with MIME type text/html.

该问题只出现在 Mac OS 下的 Safari 中

The problem appears only in Safari under Mac OS

如果要查看从服务器收到的标头,它们包含 Content-Type:application/x-javascript,所以我真的不明白问题是什么.

If to look on headers received from the server, they contain Content-Type:application/x-javascript, so I really don't understand what the problem is.

推荐答案

资源被解释为脚本,但以 MIME 类型 text/html 传输.

Resource interpreted as script but transferred with MIME type text/html.

从技术上讲,这不是错误,而是通知/警告,不应特别引起任何问题;如果有的话,这很好地表明某些浏览器可能会选择忽略此类响应.

Technically that's not an error but a notice / warning and should not cause any issues in particular; if anything it's a good indication that some browsers may choose to ignore such a response.

根据 Content-Type 响应标头>RFC 是:

The correct Content-Type response header for JavaScript according to the RFC is:

Content-Type: application/javascript

text/javascriptapplication/x-javascript 的先前值分别已过时或弃用;也就是说,IE <= 8 将只接受前者,因此在对文档进行任何更改时要小心.

Previous values of text/javascript and application/x-javascript are either obsolete or deprecated respectively; that said, IE <= 8 will only accept the former so be careful when making any changes to your documents.

相关文章