4

我正在使用 twitter bootstrap 实现一个响应式网站,但在 iexplorer 8 及更低版本上无法使用媒体查询。

我为 try respond.js 创建了一个简单的示例,但媒体查询继续无法在 iexplorer 7-8 上运行,这是 html:

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<title>Bootstrap 101 Template</title>
<meta name="Description" content="Web description here" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">
<link href="./css/styles.css" rel="stylesheet">
<!--[if IE]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link rel="shortcut icon" href="./img/favicon.png">
</head>
<body>
<div class="container">
  <h1>Hello, world!</h1>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<script src="./js/respond.min.js"></script>
<script src="./js/scripts.js"></script>
</body>
</html>

这是style.css:

@media only screen and (max-width: 38.75em) {
body {
    background: green;
}
}

问候

4

3 回答 3

2

https://github.com/scottjehl/Respond#cdnx-domain-setup

CDN/X 域设置

Respond.js 通过 AJAX 请求 CSS 的原始副本来工作,因此如果您将样式表托管在 CDN(或子域)上,则需要上传代理页面以启用跨域通信。

有关演示,请参见 cross-domain/example.html:

Upload cross-domain/respond-proxy.html to your external domain
Upload cross-domain/respond.proxy.gif to your origin domain
Reference the file(s) via <link /> element(s):

<!-- Respond.js proxy on external server -->
<link href="http://externalcdn.com/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />

<!-- Respond.js redirect location on local server -->
<link href="/path/to/respond.proxy.gif" id="respond-redirect" rel="respond-redirect" />

<!-- Respond.js proxy script on local server -->
<script src="/path/to/respond.proxy.js"></script>

如果您在跨域设置时遇到问题,请确保 respond-proxy.html 没有附加查询字符串。

注意:非常感谢@doctyper 在跨域代理中的贡献!

于 2014-02-19T04:18:16.287 回答
0

如果不想添加任何与 相关的代码respond.js,除了 IE 8 外,通过 CDN 加载bootstrap.min.css。对于 IE 8,使用本地静态文件。

    <!--[if lte IE 8]>                                                      
        <link rel="stylesheet" href="/path/to/bootstrap.min.css' %}" />
    <![endif]-->                                                            
    <!--[if gt IE 8]>                                         
        <link rel="stylesheet" href="{CDN Address}" />                                                      
    <![endif]-->                                              
    <!--[if !IE]><!-->                                        
        <link rel="stylesheet" href="{CDN Address}" />
    <!--<![endif]-->

在 IE 8 ~ 11 和其他 webkit 浏览器上测试。

于 2015-04-17T16:36:05.323 回答
0

您需要在标签<script src="./js/respond.min.js"></script>上方包含。</head>

于 2013-08-24T22:23:49.277 回答