6

我正在使用 bootstrap3 模板编写一个 html 页面,并在其中包含 response.js,但是当我在 IE8 上运行它时,它在控制台中给我错误“访问被拒绝”。我正在使用它来使 IE8 支持媒体查询。我已经尝试了很多在论坛上给出的东西,但没有运气。respond.js 是在本地工作还是我们需要在 localhost/web 服务器上运行?

Respond.js 链接 - https://github.com/scottjehl/Respond

HTML

<!DOCTYPE html>
<html>
  <head>
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
    <link href="css/main.css" rel="stylesheet" media="screen">

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="js/html5shiv.js"></script>
      <script src="js/respond.js"></script>
    <![endif]-->
  </head>
  <body>
  <div class="container">
    <h1>Hello, world!</h1>

    <div class="main-cont">         
    </div>
</div>        
    <script src="js/jquery-1.10.2.min.js"></script>        
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>

CSS - main.css

.main-cont {background:#2d3a42; height:100px;}
4

2 回答 2

9

根据Respond.js 文档...

“由于安全限制,某些浏览器可能不允许此脚本在 file:// url 上运行(因为它使用 xmlHttpRequest)。在 Web 服务器上运行它。”

具体来说,“Respond.js 使用 Ajax 重新请求 CSS 文件并解析文本响应”,这是 IE 的本地安全策略阻止您的地方。其他地方的另一位用户建议更改 IE 中的安全设置,但我无法确认该解决方案,因为我的 IE8 副本不允许我更改这些设置。

哦,为了省事,我已经测试并确认在 jQuery 中使用 ajaxSetup() 方法将“isLocal”属性设置为“true”不会克服 IE 中的本地限制。

于 2013-09-09T22:27:53.863 回答
6

我只是设法通过在 localhost 上运行来使 response.js 在 IE8 上运行以支持媒体查询。如果只是打开 html 文件,则无济于事。

于 2013-08-31T06:32:10.350 回答