带有 response.js 和 html5shiv 的 Bootstrap 3.js仍然无法在 IE8 上运行



我有一个运行Bootstrap 3的网站,并且在除IE8之外的所有浏览器上都能完美运行。这是不支持媒体查询的问题,因此内容就像在移动设备上运行一样延伸。

我尝试过包括 response.js、html5shiv.js 和来自 Google 的 html5shim。此外,还包括元 http-equiv-tag。媒体查询似乎仍然不起作用。

另外,我知道 respond.js 无法在本地工作,因为它是 xmlHttpRequest-thingy,但这个网站在网络服务器上运行。

我还确保找到 response.js 和 html5shiv.js 并且链接没有断开。

有什么想法吗?

好的,所以无响应的css文件并不是我们想要的。但是,我们发现了一个问题:

IE8似乎不喜欢@import属性。

我们使用了导入必要样式的全局 css 文件。当将所有样式表移动到标题并将它们与普通链接标签一起包含时,它可以工作。

不过很奇怪,常规的引导样式(按钮、背景等)被正确导入了。网格系统不是。我猜Internet Explorer以神秘和迟钝的方式工作。

我遇到了同样的问题。就我而言,是QUIRKS模式搞砸了。IE可以通过替换标准(建议引导3.0)来强制进入Quirks模式:

<!DOCTYPE HTML>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

始终确保在加载 jQuery 加载以下脚本。

特别是在WordPress和其他框架中,有些人倾向于在结束标记之前包含jQuery,因此在html5shiv之后.js和响应.js脚本,这会导致IE8出现问题

<!-- Include first -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!--[if lt IE 9]>
  <script src="js/html5shiv.js"></script>
  <script src="js/respond.js"></script>
<![endif]--> 
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- Bootstrap core CSS -->
    <link href="css/modern-business.css" rel="stylesheet">
    <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet">
    <link href="css/bootstrap.css" rel="stylesheet" media="screen">
    <script src="js/jquery.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/modern-business.js"></script>
     <!--[if lt IE 9]>
      <script src="js/html5shiv.js"></script>
      <script src="js/respond.js"></script>
    <![endif]-->  
    </head>

如果您想尝试本地...尝试通过本地主机,或创建 QA 服务器并设置内容并尝试。我们需要响应.js引导程序 3,如果我们只是将其放入 js 并将其附加到标头中的 html,它在本地机器中将无法工作。它会说访问被拒绝。它只能通过服务器工作,因为IE有安全限制。:P

最新更新