My website有回应。 blog section使用指向Tumblr的子域,但Respond.js的跨域版本无法正常工作。我这样做:
<script src="http://www.stevechab.com/scripts/respond.min.js"></script>
<link href="http://www.stevechab.com/scripts/respond-proxy.html" id="respond-proxy" rel="respond-proxy">
<link href="http://www.stevechab.com/scripts/respond.proxy.gif" id="respond-redirect" rel="respond-redirect">
<script src="http://www.stevechab.com/scripts/respond.proxy.js"></script>
我认为问题在于response.proxy.gif和respond.proxy.js不在blog.stevechab.com上......但这并不能破坏具有跨域版本的Respond的目的。 JS?我的假设是正确的,还是我错过了什么?有解决方法吗?
注意:我尝试了http://www.tumblr.com/themes/upload_static_file ...没有骰子。
答案 0 :(得分:6)
@Steve Chab,
有两个原因 respond.js &amp; respond.proxy.js 不适合你。
您在原始域中有 respond-proxy.html 文件,而该文件应该是从您的子域提供的( blog.stevechab.com )或任何其他外部域。
当链接到带有相对网址的css文件时, respond.js / respond.proxy.js 似乎存在错误。要修复它,请使用绝对URL。您的主站点使用css样式表的相对URL,并且您的博客是绝对URL。
请在下面找到重新查看的工作标记,以获取 respond.js &amp; respond.proxy.js 在您的网站上工作。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="http://www.stevechab.com/styles/styles.css">
<!--[if (lt IE 9) & (!IEMobile 7)]>
<link href="//blog.stevechab.com/scripts/respond-proxy.html" id="respond-proxy" rel="respond-proxy">
<link href="//www.stevechab.com/scripts/respond.proxy.gif" id="respond-redirect" rel="respond-redirect">
<![endif]-->
</head>
<body>
<!-- Your content goes here. -->
<!--[if (lt IE 9) & (!IEMobile 7)]>
<script src="//www.stevechab.com/scripts/respond.min.js"></script>
<script src="//www.stevechab.com/scripts/respond.proxy.js"></script>
<![endif]-->
</body>
</html>
答案 1 :(得分:3)
引用respond.js
自述文件:
Respond.js的工作原理是通过AJAX请求CSS的原始副本,所以如果你在CDN(或子域名)上托管你的样式表,你需要上传代理页面到启用跨域通信。
- 我的重点。跨域版本旨在使您能够处理从另一个域加载的样式表,而不是respond.js
正在处理的样式表。但是,对于Tumblr,您已将第三个域添加到混合:static.tumblr.com
,其中您的代理脚本和gif已登陆。这不会,也不会起作用。