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

Posted

技术标签:

【中文标题】为啥 Bootstrap 3 导航栏下拉菜单在 IE8 中不起作用?【英文标题】:Why Bootstrap 3 navbar dropdown doesn't work in IE8?为什么 Bootstrap 3 导航栏下拉菜单在 IE8 中不起作用? 【发布时间】:2013-08-31 10:10:39 【问题描述】:

bootstrap 3 下拉菜单在 IE8 中不起作用,我不知道为什么,对此有任何帮助。有人说是因为 BS 添加了 CSS 过滤属性

【问题讨论】:

Bootstrap dropdown not working in IE8的可能重复 Twitter bootstrap 3 RC2 - Navigation in IE8 not working的可能重复 我遇到了这个问题,但如果没有您的 html,我无法假设我的解决方案会奏效。对我来说,我的 IE 菜单下拉菜单失败了,因为我使用的是 而不是 标签。 bootstrap 3 导航栏示例清楚地显示 正在使用的标签。 【参考方案1】:

要在托管站点兼容性文件(html5shiv 和 Respond)的同一台服务器上解决问题,并且将再次托管引导文件而不使用 CDN。否则无法兼容 IE 8。

【讨论】:

【参考方案2】:

在另一个线程上找到了这个,但将您的 jquery 恢复到版本 1.11.2 而不是 2+。

【讨论】:

【参考方案3】:

包括这两个脚本:

<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 版本 LESS than 2(jQuery 2++ 不再支持 IE8)

最后,使用网络服务器(本地或其他)来查看您的网站,因为 respond.js 不能很好地与 file:// 协议配合使用

【讨论】:

【参考方案4】:

我已经在 localhost 中测试了很多次。它永远不会在 localhost 中工作,只需将相同的文件夹上传到您的服务器上,然后检查它会 100% 工作。

【讨论】:

【参考方案5】:

bootstrap3 可以在 ie 8 上正常工作,只有你必须确保添加 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]-->  

【讨论】:

+1 将 shiv 和响应脚本添加到 head 元素对我有用。 此外,respond.js 仅在您自己托管引导 css 文件时才有效,而不是从 CDN 加载。

以上是关于为啥 Bootstrap 3 导航栏下拉菜单在 IE8 中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

如何在折叠的导航栏中默认打开 Bootstrap 3 下拉菜单

Bootstrap 3:如何在导航栏中使下拉链接的头部可点击

Bootstrap 导航栏响应式下拉菜单不响应触摸

Bootstrap 导航栏下拉菜单定位

当用户在菜单外单击时,如何关闭 Bootstrap 导航栏下拉菜单?

Bootstrap 导航栏,新的下拉菜单不会关闭移动视图中已打开的下拉菜单