Вопрос

Как легко было бы запустить другой JavaScript в зависимости от браузера пользователя?

Например, если кто-то посещает сайт с IE9, я хотел бы, чтобы он запустил другой скрипт к тому, что он будет нормально работать для пользователей Chrome.

Это было полезно?

Решение

Вы можете использовать Условные комментарии за это:

<!--[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 Framework. Например:

  1. jquery.browser
  2. Обнаружение браузера с прототипом JS

В качестве альтернативы вы можете использовать Условные комментарии Но они признаны только 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, вам все равно не нужно проверять свои браузеры.

Помимо браузеров имеют привычку лгать вам и притворяться, что это любезно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top