【问题标题】:Javascript MIME Type not Set ProperlyJavascript MIME 类型设置不正确
【发布时间】:2021-04-24 12:58:48
【问题描述】:

我正在使用 Python/Tornado 构建一些网络应用程序。

我的一些 (HTML) 页面有:

<script src="/static/some_script.js" type="text/javascript"></script>

当我在 FireFox 中加载页面时,我收到警告:

“来自“http://localhost:8086/static/some_script.js”的脚本是 即使它的 MIME 类型(“text/plain”)不是有效的也加载 JavaScript MIME 类型。”

为什么浏览器认为 MIME 类型是“text/plain”而不是“text/javascript”?它是从哪里得到这个想法的......?

我也加载:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src="//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js" type="text/javascript"></script>

我没有得到同样的警告.....

【问题讨论】:

  • "text/javascript" 似乎已经过时,取而代之的是 application/javascript。来源:iana.org/assignments/media-types/media-types.xhtml.
  • 我也在某个地方遇到过这个问题,并且可能会进行修改。不过,MIME 类型没有正确注册。

标签: javascript html mime-types


【解决方案1】:

Mime 类型是服务器作为标头详细信息发送的内容,它通常基于文件扩展名,但可以根据需要强制执行。

如果您在本地运行您的网页/应用程序,您需要为该文件夹创建一个网络服务器,因为直接打开 .html 文件将不起作用,或者更好的是,请求的文件将无法使用正确的 mime 类型提供服务。

使用网络服务器,您将永远不会再看到此错误。

【讨论】:

  • 是的,然后用正确的端口访问 localhost,不要用浏览器打开文件。迄今为止,每个 网络服务器都能正常提供 JavaScript,python 不可能不这样做。
  • 我使用的是本地主机 URL 和端口。我没有直接打开文件。
  • 那么当找不到脚本(文件)时,服务器很可能会使用默认页面而不是 404 进行回复。我没有发现任何可能的问题。
  • 正在找到脚本(文件)……只是 MIME 类型错误。我以为我已经设置了它,但显然没有。
【解决方案2】:

我遇到了同样的问题,但使用的是 ExpressJS 应用程序。对我来说,相关静态文件的路径不正确。所以 exressjs(web server) 默认为 text/html mime 类型。

所以检查“/static/some_script.js”路径是否正确指向静态文件(some_script.js)

【讨论】:

  • 我可以假设由于脚本正在加载路径是正确的..?
  • 由于 javascript 正在加载,我假设路径是正确的......我没有收到找不到脚本的错误。我收到错误,它被识别为错误的 MIME 类型.....
猜你喜欢
  • 2014-01-18
  • 1970-01-01
  • 2011-04-18
  • 2015-05-19
  • 2019-05-28
  • 1970-01-01
  • 1970-01-01
  • 2012-11-29
相关资源
最近更新 更多