【问题标题】:Chrome Error - Resource interpreted as Script but transferred with MIME type text/plainChrome 错误 - 资源被解释为脚本,但使用 MIME 类型文本/纯文本传输
【发布时间】:2014-10-16 09:30:53
【问题描述】:

我已经尝试了许多页面上的所有解决方案,但均未成功。我没有安装 Visual Studio,所以那里不需要注册表调整。将标头标签添加到 PHP 中对我不起作用。似乎它正在影响我的 .css 文件以及我的 .js 文件。 Firefox 只会显示 .css 错误,并且根本不会显示任何样式规则。

确切的错误是......

资源被解释为样式表,但使用 MIME 类型 text/html 传输:“http://newpcs.perrycs.com/css/bootstrap-theme-cerulean.css”。

资源被解释为脚本,但使用 MIME 类型 text/html 传输:“http://newpcs.perrycs.com/js/bootstrap.js”。

更新: 我从我的虚拟主机 IT 那里找到了一个修复程序。他们说将以下代码添加到我的 .htaccess 文件中,它确实解决了 .css 而不是 Chrome 中的 .js。这是他们让我输入的代码...

Options -Indexes

<FilesMatch "(\.css)$"> 
   AddType text/css .css 
   Header set Content-Type text/css 
</FilesMatch>

AddType application/x-javascript .js

它为 .css 而不是 .js 修复了它

我也试过了……

AddType application/javascript .js

没有运气。我正在等待再次收到 IT 的回复,但与此同时,我会继续寻找。我知道 .js 可以工作.. 这只是强迫症......我不希望 Chrome 出现任何错误。

【问题讨论】:

  • 不。我在 Chrome 中收到 application/javascript

标签: javascript php html


【解决方案1】:

如果 CSS 规则有效,您可以为 JavaScript 复制它:

<FilesMatch "(\.js)$"> 
   AddType application/javascript .js 
   Header set Content-Type application/javascript
</FilesMatch>

【讨论】:

  • 我得出了同样的结论。我没有尝试的唯一原因是……我问他们……他们说不。我不需要那样做。在输入这个问题后,我想......这到底是什么......无论如何我都会这样做。为什么只对 .css 文件而不对 .js 文件进行处理很重要?服务器负载?我对 .htaccess 文件一无所知。我父母网站上的主要网站是一团糟。我会发布那个。也许问题出在那个 .htaccess 文件中。好吧,那是……如果他们是继承的?
  • 这是我在父网站上的主要 .htaccess 文件。 newpcs.perrycs.com 是一个子域?网站。我原来的 .htaccess 文件从来没有像现在这样凌乱...
  • suPHP_ConfigPath /home/perrycs RewriteEngine on #suPHP_ConfigPath /home/perrycs #Options ExecCGI 包括 #AddType application/x-httpd-CGI .pl #AddType text/x-server-parsed-html .htm 。 html .shtml .js .css 选项 索引 SymLinksIfOwnerMatch 包括 Addhandler application/x-httpd-php .html .htm .xhtm .js .css .asp AddHandler server-parsed .htm order allow,deny deny from all # mod_headers 是不允许的。必要时使用 perl 中的以下命令 #P3P: CP="ALL DSP CURa ADMa OTPi OUR DELi IND PHY ONL UNI PUR COM NAV STA"
  • 继续... # P3P: policyref=\"perrycomputerservices.com/w3c/p3p.xml\" # RewriteCond %{HTTP_HOST} ^perrycs\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.perrycs\ .com$ RewriteRule ^/?$ "http\:\/\/www\.perrycomputerservices\.com\/" [R=301,L]
  • 我不知道他们为什么会要求您以不同的方式处理 JavaScript 文件。但是,他们为您提供correct JavaScript MIME type 值得称赞。
【解决方案2】:

当我在等待 IT 部门的帮助时。我之前问过他们......我应该对 .js 和 .css 做同样的事情吗?我被告知不......你唯一需要的 .js 是

AddType application/x-javascript .js

这就是他们给我的……但这并没有解决我的问题。我也试过...

AddType application/javascript .js

但效果并不好。

所以...我想我会尝试我被告知不要尝试的事情。这是我的最终 .htaccess 文件。

Options -Indexes

<FilesMatch "(\.css)$"> 
   AddType text/css .css 
   Header set Content-Type text/css 
</FilesMatch>

<FilesMatch "(\.js)$"> 
   AddType application/javascript .js
   Header set Content-Type application/javascript 
</FilesMatch>

而且...它有效! Chrome 中不再有错误。我对 .htaccess 文件一无所知...我想...好吧,毕竟它不适用于 .js... 那么这会带来什么危害呢?有人想帮助我并告诉我我所做的是一件坏事吗?有什么不好的副作用吗?

我还应该注意...过去我的 .css 文件或 .js 文件从来没有出现过问题。这似乎是在他们升级某些东西之后发生的,但我不确定,因为当我注意到我的 CSS 样式从我的副项目中消失时,我并没有正确地调查问题。好吧,只要它有效...

【讨论】:

  • 这应该没问题。它只是以正确的方式设置标题。没有别的,这应该没问题。
【解决方案3】:

你能不能试试:

AddType application/javascript *.js

我觉得* 可能会有所帮助。


为 JS 重新声明与 CSS 相同的东西可能会有所帮助吗?

<FilesMatch "(\.js)$"> 
   AddType application/javascript .js
   Header set Content-Type application/javascript 
</FilesMatch>

【讨论】:

  • 我在有和没有 *.js 的情况下都试过了,Chrome 中弹出了同样的错误。很奇怪的问题。过去,这就是 .js 所需要的一切……我不知道它们在服务器上发生了什么变化。一天我所有的 CSS 都在工作,然后噗,第二天都不工作了。
  • 我知道它已经贬值但你试过Header set Content-Type text/javascript
  • 当我尝试 header 命令(在 PHP 中)时,我的页面只显示为文本......所有代码都“按原样”直接转储到网页。我在另一页上看到了该帮助。谢谢!
  • 我很好奇为什么它不起作用...我知道如果不在服务器上可能无法判断为什么我还必须为 .js 进行文件匹配!我所读到的所有内容都只是有你们所说的内容。好吧,只要它有效......我很高兴。这似乎也解决了一些其他永远无法解决的问题。没有人能摆脱 .js 错误。它给了我 .css 的文件匹配,但告诉我只使用 .js 的 1 行。奇怪的事情……要学的东西太多了。希望我更年轻,有更多的时间。变老很糟糕。
  • @PerryCS Apache 中有一大组类型处理程序,它们提供默认类型。可能是那个文件搞砸了或什么的!
【解决方案4】:

哦,伙计,他们在骗你!!! 这是一个非常简单的案例,不需要更改 .htaccess。

关于文件格式。我不是指扩展名,而是你创建文件的方式。

例如:如果您在 linux 服务器上遇到错误,我敢打赌您是在 Windows 资源管理器中创建的文件。

解决方案是在notepad++中打开文件并转到菜单“编码”。 不,您必须知道为您的网络服务器选择了哪个字符集。 它们必须匹配(fileformat-serverformat) 现在你选择“转换为 [yourformat]”,对我来说它是“UTF8 wo BOM”。

在你尝试这个之前备份你的文件。

【讨论】:

  • 我正在使用 sublime text 2 以 UTF-8 格式发送文件。我还通过 CPanel 直接在服务器上创建了文件,同样的问题也适用。我没有对您投反对票(其他人投反对票),但我认为您的解决方案不会解决任何问题……但是如果不自己进行测试,我实际上并不知道 100%。 .htaccess 文件更改简单且有效。我相信他们在他们的服务器上升级了一些东西,有人搞砸了。几周后发布这个问题后,我遇到了另一个问题,即 PDO 无法正常工作......配置文件位于子目录中并正在更改设置。
  • ... 这导致 PDO 无法工作。不知道为什么,但他们删除了额外的 PHP.ini 文件,一切又开始工作了。
猜你喜欢
  • 2012-11-25
  • 2013-12-31
  • 2011-03-28
  • 1970-01-01
  • 2014-06-14
  • 2011-07-18
  • 1970-01-01
相关资源
最近更新 更多