Ответ 1
Надеюсь, что это поможет...
Из http://getbootstrap.com/getting-started/:
<!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) -->
<script src="js/respond.js"></script>
</body>
Я использую Twitter Bootstrap 3 RC2 для создания навигационной панели в верхней части моей страницы, которая отлично работает, за исключением IE8.
В IE8 действуют такие действия, как будто браузер был сделан небольшим, так что меню рушится для мобильного просмотра. Но это не так.
Теперь я знаю, что TB3 все еще работает. Но я хотел бы знать, есть ли у кого-нибудь решение для этого здесь.
Если вы хотите проверить мою проблему с IE8, посмотрите здесь:
http://jsfiddle.net/DnwJN/embedded/result/
(вам нужна прямая ссылка, потому что JSFiddle он сам не работает с IE8)
И вот JSFiddle:
Вы увидите, что navbar отлично работает в любом другом браузере. Даже IE9. Но не IE8. И TB3 поддерживает IE8. Они отказались от поддержки IE7 и ниже.
У кого-нибудь есть решение этой проблемы?
<nav class="navbar" role="navigation">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Title</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search" />
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
<ul class="nav navbar-nav navbar-right">
<li><a href="#">Link</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</nav>
Надеюсь, что это поможет...
Из http://getbootstrap.com/getting-started/:
<!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) -->
<script src="js/respond.js"></script>
</body>
Также обратите внимание на то, что вы должны включить этот код:
<!--[if lt IE 9]>
<script src="${rc.getContextPath()}/js/vendor/html5shiv.js"></script>
<script src="${rc.getContextPath()}/js/vendor/respond.min.js"></script>
<![endif]-->
ПОСЛЕ все css включены для правильной работы.
после добавления html5shim у меня все еще возникали проблемы с выпадающим списком в ie8.
нашел эту статью https://github.com/twbs/bootstrap/issues/6548, которая объясняет, что фильтры мешают. bootstrap имеет фильтр по умолчанию на панели навигации, поэтому вы должны это очистить. вот что сработало для меня.
.navbar-inverse .nav li.dropdown.open>.dropdown-toggle, .navbar-inverse .nav
li.dropdown.active>.dropdown-toggle, .navbar-inverse .nav
li.dropdown.open.active>.dropdown-toggle,
.navbar, .navbar-inverse .navbar-inner {
background-color: #15317E;
border-color: #252525;
filter:none;
background-image: none;
}
Vanilla Bootstrap 3 по умолчанию использует jQuery 2. Поэтому, чтобы заставить его работать в IE8, вам нужно изменить версию jQuery на меньшее, чем jQuery 2.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Включите эти два сценария:
<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>
Самое главное, использовать веб-сервер для просмотра вашего сайта (с протоколом http://или https://, поскольку файл://протокол прерывает выполнение response.js).
Попробуйте добавить
<!-- HTML5 shim for IE backwards compatibility -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<![endif]-->
к вашему коду и проверьте или используйте modernizer.js или normalizer.js. Также проверьте http://getbootstrap.com/getting-started/#browsers, где говорится, что включить response.js для включения поддержки медиа-запросов.
Для меня это была моя версия jquery. jQuery 2.0.2 не очень хорошо работал с bootstrap 3 в IE8, но jQuery 1.9.1 работал отлично. Не тестировал его с помощью jQuery 1.10.1. Переключите версию jQuery и посмотрите, работает ли она
hey use modernizr js, потому что i8 и более ранние версии не поддерживают бар, потому что это нам html5.Для этого используйте модернизатор js.:)
в основном проверьте meta http-equiv tag, если он не включен в ваш файл, добавьте этот
<meta http-equiv="X-UA-Compatible" content="IE=edge">
bootstrap3 работает отлично, т.е. только 8, вы обязательно добавите response.js, html5shiv.
вот так:
<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]-->
Также вам нужно убедиться, что ваш CSS включен через <link>
, а не @import
Теперь, в 2017 году, я только что узнал что-то, что говорит о том, что все ответы выше --- с участием html5shiv, response.js и jquery < 2.0 --- являются необходимыми.
Это: перейти к последнему бутстрапу (теперь 3.3.7) здесь, затем прокрутите вниз до коллекция примеров, а затем нажмите на первый "Navbars in action" слева. Вы обнаружите, что элемент меню Выпадающее меню работает.
Теперь взгляните на источник страницы. И внизу, что вы видите? Вы видите jquery 1.12.4, это то, что вы видите... не последнее, что равно 3 +.
Вы можете выполнить поиск "поддержки jquery drop для ie8", чтобы увидеть многочисленные анонсы.