我很难获得 Respond's CDN/X-Domain Setup工作。
我开始为来自 CDN 的所有 Assets 提供服务:
<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>
理论上这应该可行,因为所有 Assets 都由同一个域提供服务。然而,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 Assets 中的缓存无效化查询字符串有关吗?当所有 Assets 都从同一域提供服务时,为什么我的原始示例不起作用?
最佳答案
此问题是由包含查询字符串 (respond-proxy.html?2013012401
) 的 respond-proxy.html
文件引用引起的。从此文件中删除查询字符串会导致上述实现工作。
关于javascript - Respond.js 不能跨域工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14564079/