Respond.js无法跨域工作

6

我在使用Respond的CDN/X-Domain设置时遇到了困难。

我一开始是从CDN中提供所有的资源:

<link rel="stylesheet" href="http://cdn.example.com/css/main.css?2013012401">
<script src="http://cdn.example.com/js/modernizr-2.6.2.min.js?2013012401"></script>
<script src="http://cdn.example.com/js/respond.min.js?2013012401"></script>

理论上来说,这应该可以工作,因为所有资源都是从同一个域名下提供的。然而,IE8并没有像本应该支持媒体查询。因此,我调查了Respond的CDN/X-Domain设置,并修改了我的<head>部分如下:

<link rel="stylesheet" href="http://cdn.example.com/css/main.css?2013012401">
<script src="http://cdn.example.com/js/modernizr-2.6.2.min.js?2013012401"></script>
<script src="http://cdn.example.com/js/respond.min.js?2013012401"></script>
<link href="http://cdn.example.com/respond-proxy.html?2013012401" id="respond-proxy" rel="respond-proxy">
<link href="http://cdn.example.com/img/respond.proxy.gif?2013012401" id="respond-redirect" rel="respond-redirect">
<script src="http://cdn.example.com/js/respond.proxy.js?2013012401"></script>

当上述方法都失败了,我修改了我的<head>部分如下:
<link rel="stylesheet" href="http://cdn.example.com/css/main.css?2013012401">
<script src="http://cdn.example.com/js/modernizr-2.6.2.min.js?2013012401"></script>
<script src="http://cdn.example.com/js/respond.min.js?2013012401"></script>
<link href="http://cdn.example.com/respond-proxy.html?2013012401" id="respond-proxy" rel="respond-proxy">
<link href="/img/respond.proxy.gif" id="respond-redirect" rel="respond-redirect">
<script src="/js/respond.proxy.js"></script>

我不确定还有什么其他方法可以尝试使其正常工作。在没有使用CDN的本地开发环境中,它能够很好地运行,但是在实际环境中,这个Respond.js CDN/X-Domain 设置不能正常工作。这可能与添加到CDN资源的缓存破坏查询字符串有关吗?为什么我的原始示例在所有资产都来自同一个域时无法正常工作?

编辑:这里是在IE8中抛出的错误


遇到了同样的问题 :-/已经进行了CDN/X-Domain设置,但现在它会在IE7中抛出JavaScript错误:在if(respond.mediaQueriesSupported){ }的行上找不到respond变量。我的CSS带有媒体查询,存放在CDN上。有人知道怎么解决吗? - Sergei Golubev
你的具体实现是什么?请看下面给出的解决方案。 - AlecRust
1个回答

6
此问题是由于respond-proxy.html文件引用了查询字符串(respond-proxy.html?2013012401)所造成。从该文件中删除查询字符串即可使上面的实现有效。

1
我之前也遇到了完全相同的问题,这个方法对我也起作用了。 - Rona Kilmer
从上面的任何代码示例中删除查询字符串都应该可以工作,但我正在使用最后一个。 - AlecRust

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