我会告诉我这是因为我不是Javascript专家。甚至没有关闭。
那就是说,我正在使用Javascript Polyfill来允许我在网页上使用rem单位作为文本大小并保持IE8的兼容性:
http://www.joannecorryhair.co.uk/
脚本在第24行引用:
<!--[if lt IE 9]>
<script src="scripts/html5shiv.js"></script>
<link rel="stylesheet" type="text/css" href="css/0.css" />
<link rel="stylesheet" type="text/css" href="css/600.css" />
<link rel="stylesheet" type="text/css" href="css/740.css" />
<script src="scripts/rem.js" type="text/javascript"></script>
<![endif]-->
仅在IE8中(即使我把它放在条件元标记之外),控制台抛出以下错误并且此脚本不起作用(字体间距全部搞砸了):
在Access-Control-Allow-Origin标头中找不到原点http://joannecorryhair.co.uk。
这完全适用于本地。
我怀疑这是服务器配置上的内容,因为这是一个非常受欢迎的polyfill。任何帮助将不胜感激。
由于
答案 0 :(得分:0)
此错误显示是因为您尝试跨域加载资源(图像,音频或视频)或数据(JSON或XML)。为数据/资产提供服务的站点需要通过设置CORS标头来允许您的站点使用这些资产。
答案 1 :(得分:0)
这确实是Patrick的回答中提到的CORS标题,但是,我会单独发布详细信息,以便用户更容易找到。
问题在于我使用的是Google Webfonts。谷歌的CORS标题是不兼容的。您需要将以下内容添加到Google Font CSS参考中:
data-norem
所以它看起来像这样:
<link data-norem href='http://fonts.googleapis.com/css?family=Roboto:400,300,500' rel='stylesheet' type='text/css'>
我在Rem Polyfill问题寄存器中找到了这个信息:
https://github.com/chuckcarpenter/REM-unit-polyfill/issues/51