Как сделать так, чтобы разные браузеры обрабатывали разный код?

288
16 июня 2018, 01:40

Существует ли возможность указать в HTML, чтобы определённые браузеры обрабатывали отдельно для них созданный JS/JQuery? И как это сделать?

Answer 1

Конкретно в html такое сделать вряд ли, а в JS можно определить браузер по userAgent и уже в зависимости от этого выполнять соответствующий код.

let isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); 
let isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1; 
let isIE = navigator.appName == 'Microsoft Internet Explorer' || !!(navigator.userAgent.match(/Trident/) || navigator.userAgent.match(/rv:11/)); 
 
if (isChrome) { 
  alert('Это хром'); 
} 
if (isFirefox) { 
  alert('Это мозилла'); 
} 
if (isIE) { 
  alert('Это IE'); 
}

Answer 2

Вообще это делается через JS, но для IE ниже версии 10 существовали условные комментарии. Обозреватель сети IE поддерживает возможность определения версии под названием «условные комментарии»:

<!--[if условие]> невидимый HTML-код <![endif]-->
<![if условие]> видимый HTML-код <![endif]>

Логическое НЕ можно использовать для создания стиля, который будет доступен во всех браузерах кроме IE. Условные комментарии игнорируются этими браузерами, они воспринимают их как обычные комментарии HTML. Поэтому необходимо изменить код следующим образом.

<!--[if !IE]>-->
  Для всех браузеров кроме IE
<!--<![endif]-->

В первой и третьей строке добавляется -->, обозреватели сети воспринимают эти строки как комментарий и не обрабатывают их. Internet Explorer в свою очередь считает их условными комментариями и обрабатывает их.

IE версии 10 обрабатывает их, если страница загружена в standards mode.

Смотрите также:

  • Условные комментарии

  • Conditional comment

READ ALSO
Как отправить фото или документы через ajax

Как отправить фото или документы через ajax

как можно сразу отправить файлы через ajax когда мы чтото закинули в Input type="file", мой скрипт почему то не срабатывают буду признателен за помощь

319
Получить файл из сообщения

Получить файл из сообщения

Как проверить наличие и получить файл из обновления? Пишу на джаве лонг поллинг ботаБиблиотека rubenlagus/TelegramBots

257
Прикрепление файлов в WebView

Прикрепление файлов в WebView

Есть сайт мобильной версии, там в форме есть input для файлаТуда надо прикрепить файл

352
Как проверить AlarmManager на null?

Как проверить AlarmManager на null?

Дело в том, что у меня есть n-будильниковНажимая на кнопку, я хочу удалить все ранее созданыe и пересоздать их по новому

280