为什么在IE8中Bootstrap 3的导航栏下拉菜单不起作用?

7

在IE8中,Bootstrap 3下拉菜单无法正常工作,原因未知。有些人说是因为BS添加了CSS过滤属性。


可能是推特bootstrap 3 RC2-IE8中的导航无法工作的重复问题。 - rid
我遇到了这个问题,但如果没有你的HTML代码,我无法确定我的解决方案是否适用。对我来说,我的IE菜单下拉框失败是因为我使用了<menu>而不是<ul>标签。Bootstrap 3导航栏示例明确显示了使用<ul>标签。 - Mark
5个回答

18

Bootstrap3在IE8上正常工作,但需要确保添加respond.js、html5shiv和最新版本的jQuery。

像这样:

<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
 <!--[if lt IE 9]>
  <script src="js/html5shiv.js"></script>
  <script src="js/respond.min.js"></script>
<![endif]-->  

将shiv和respond脚本添加到head元素中对我有效。 - Brian Mains
此外,respond.js 只有在您自己托管 Bootstrap CSS 文件而非从 CDN 加载时才能工作。 - Chris Arasin

2
我在本地主机上多次测试过这个,但是在本地主机上无法工作。只需将相同的文件夹上传到您的服务器上,然后检查,它肯定能够正常工作。

0

包含这两个脚本:

<script type='text/javascript' src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<script type='text/javascript' src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.js"></script>

然后使用 jQuery 版本小于 2 的版本(jQuery 2++ 不再支持 IE8)。
最后,使用 Web 服务器(本地或其他)查看您的站点,因为 respond.js 与 file:// 协议不兼容。

0
为了解决在同一台服务器上托管您的站点兼容性文件(html5shiv和Respond)的问题,您需要再次托管引导文件而不使用CDN。否则,与IE 8的兼容性将无法正常运行。

0

在另一个线程上发现了这个问题,但是将您的jQuery版本还原为1.11.2而不是2+。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接