6

我无法让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 中引发的错误

4

1 回答 1

6

此问题是由respond-proxy.html包含查询字符串 ( respond-proxy.html?2013012401) 的文件引用引起的。从此文件中删除查询字符串会导致上述实现工作。

于 2013-02-18T13:52:32.883 回答