我在使用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资源的缓存破坏查询字符串有关吗?为什么我的原始示例在所有资产都来自同一个域时无法正常工作?