Заменить скрипт, если смотреть в IE9?
Насколько легко было бы запустить другой javascript в зависимости от браузера пользователя?
Например, если кто-то посещает сайт с IE9, я бы хотел, чтобы он запускал скрипт, отличный от того, который он обычно запускал бы для пользователей Chrome.
4 ответа
Вы можете использовать условные комментарии для этого:
<!--[if lte IE 6]>
<script>alert('lte stands for less than or equal to')</script>
<![endif]-->
<!--[if lt IE 7]>
<script>alert('lt stands for less than')</script>
<![endif]-->
<!--[if gte IE 9]>
<script>alert('gte stands for greater than or equal to')</script>
<![endif]-->
и т.п.
Существуют различные методы обнаружения браузера. Вы можете попробовать обнаружить браузер (самостоятельно, изучив navigator.userAgent
свойство), или вы можете использовать методы, доступные практически в любой среде Javascript. Например:
В качестве альтернативы вы можете использовать условные комментарии, но они распознаются только IE.
- Павел
Вы можете использовать условные комментарии в HTML.
<!--[if IE]>
<script src="ie_only.js"></script>
<![endif]-->
Это также может быть использовано для внешних таблиц стилей
больше информации об этом посте http://css-tricks.com/how-to-create-an-ie-only-stylesheet/
Могу ли я рекомендовать функцию обнаружения вместо
if (someIEAPI) {
// ie code
} else if (someChromeAPI) {
// chrome code
}
Этот код более надежен, и если Firefox или Opera поддерживает один из API, вам все равно не нужно проверять их браузеры.
Кроме того, у браузеров есть привычка лгать вам и притворяться, что все в порядке.