在Internet Explorer中完全未加载CSS(SEC7113)

7
我有一个AngularJS网站,它在每个浏览器中都可以完美运行。但是在Internet Explorer(测试版本为11)中,CSS根本没有被加载。

错误代码:SEC7113

错误消息:“由于mime类型不匹配而忽略了CSS”

同时请查看此处:http://msdn.microsoft.com/en-us/library/hh180764(v=vs.85).aspx

这是我包含CSS的方式(就在标签之前):

<link rel="stylesheet" type="text/css" href="css/app.css">

同时,这是我的文档类型声明:

<!doctype html>
<html ng-app="app">

我可以确定(100%),几周前在Internet Explorer浏览器中它是工作正常的,因为我在不同的浏览器中测试了性能。从那以后,CSS发生了很多变化。但是包含CSS的方式没有改变。

有人知道这里可能出了什么问题吗?非常感谢!


4
服务器提供了哪些HTTP头?您可以在开发者工具的网络选项卡中查看。 - rene
回答 HTTP/1.1 200 OK ........ 服务器 websocket-sharp/1.0 ........ 日期 Mon, 15 Dec 2014 18:05:50 GMT ........ 传输编码 chunked ........ 保持连接 超时=15,最大=88 ........ - Tream
2
什么?CSS是通过WebSocket传输的吗?这很奇怪...(你知道你可以[编辑]你的帖子吗?) - rene
我在我的AngularJS网站中使用Websockets,但是CSS是通过http加载的:http://localhost:8080/css/app.css - Tream
2
您在之前的评论中没有发布 Content-type 标头。如果标头确实缺失,请考虑添加它。 - Salman A
1个回答

6
问题出在CSS文件的mime-type无效。你的CSS文件可能被发送为"text/plain"而不是"text/css"。因此,Internet Explorer会防止文件加载以避免潜在攻击。这个问题尤其在人们引用GitHub的JavaScript文件时出现,这些文件使用"text/plain"来服务,但在文档中使用"text/javascript"。请确保响应头包含"text/css" mime-type即可解决该问题。F12开发人员工具的“网络”面板提供了这些信息。

请注意,IE11控制台报告的错误代码的参考资料可以在http://msdn.microsoft.com/en-us/library/ie/dn423949(v=vs.85).aspx找到。 - Lance Leonard
1
非常感谢。Web服务器没有返回正确的MIME类型。现在在IE中也可以正常工作了。非常感谢! :) - Tream

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接