我无法让Respond 的 CDN/X 域设置正常工作。
我开始从 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 Setup 并将我的<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 的本地开发环境中运行良好,但在 Live 环境中,此 Respond.js CDN/X-Domain 设置不起作用。它可能与添加到 CDN 资产中的缓存破坏器查询字符串有关吗?当所有资产都来自同一个域时,为什么我的原始示例不起作用?
编辑: 这是在 IE8 中引发的错误