Я пытаюсь обнаружить хром и браузер сафари с помощью jQuery или JavaScript. Я думал, что мы, как предполагается, не используем jQuery.browser. Есть ли здесь какие-либо предложения?Большое спасибо!
Существуют все еще причуды и несоответствия в 2019.
, Например, с масштабированным svg и событиями указателя, между браузерами.
Ни один из ответа этой темы не работает больше. (возможно, те, которые имеют jquery)
Вот альтернатива путем тестирования с JavaScript, если правило CSS поддерживается через собственный компонент api поддержки CSS. Мог бы развиться, для адаптации!
Примечание, что возможно передать много правил CSS, разделенных точкой с запятой для самого прекрасного обнаружения.
if (CSS.supports("( -webkit-box-reflect:unset )")){
console.log("WEBKIT BROWSER")
// More math...
} else {
console.log("ENJOY")
}
if (CSS.supports("( -moz-user-select:unset )")){
console.log("FIREFOX!!!")
}
Остерегаются для не использования его в циклах, для производительности, лучше заполнить константу на загрузке:
const ff = CSS.supports("( -moz-user-select:unset )")
if (ff){ //... }
Используя [1 117] CSS только , вышеупомянутое было бы:
@supports (-webkit-box-reflect:unset) {
div {
background: red
}
}
@supports (-moz-user-select:unset) {
div {
background: green
}
}
<div>
Hello world!!
</div>
Список возможных - WebKit только правила CSS.
Много ответов здесь. Вот мое первое внимание.
Без JavaScript, включая возможность JavaScript первоначально отключен пользователем в его браузере в целях безопасности, чтобы быть белый перечисленный пользователем, если пользователь будет доверять сайту, то DOM не будет применим, потому что JavaScript выключен.
Программно, Вас оставляют с серверной стороной бэкенда или frontend клиентским соображением.
С бэкендом, можно использовать общий знаменатель заголовок запроса "Агента пользователя" HTTP и/или любой возможный собственный заголовок Запроса HTTP, выпущенный браузером для вывода браузера определенный материал HTML.
С клиентским сайтом, можно хотеть осуществить JavaScript, чтобы позволить Вам использовать DOM. Если так, затем Вы, вероятно, захотите сначала использовать следующее в своей странице HTML:
<noscript>This site requires Javascript. Please turn on Javascript.</noscript>
, В то время как мы направляемся в день с каждым веб-кодером, будет зависеть от JavaScript в некотором роде (или не), сегодня, чтобы предположить, что каждому пользователю включили JavaScript, была бы разработка проекта и разработка продукта ошибка QA.
я видел, слишком может сайты, кто заканчивает с пустой страницей, или сайт ломается, потому что он предположил, что каждому пользователю включили JavaScript. Нет. В целях безопасности у них может быть JavaScript первоначально прочь, и некоторые браузеры, как Chrome, позволят пользователю белому списку веб-сайт по домену доменным основанием. Край является единственным браузером, о котором я знаю, где Microsoft приняла решение полностью отключить способность пользователя выключить JavaScript. Край не предлагает белого понятия списка следовательно, это - одна причина, я лично не использую Край.
Используя тег простой способ сообщить пользователю, что Ваш сайт не будет работать без JavaScript. После того как пользователь включает его и обновляет/перезагружает страницу, DOM теперь доступен для использования методов, процитированных потоком, отвечает для обнаружения хрома по сравнению с сафари.
Как ни странно, я добрался здесь, потому что я обновлял платформой, и погуглите тот же основной вопрос; хром по сравнению с sarafi. Я не знал, что Chrome создает Объект DOM, названный "хромом", который является действительно всем, что необходимо обнаружить "хром" по сравнению со всем остальным.
var isChrome = typeof (хром) === "объект";
Если это правда, Вы получили Chrome, если ложь, Вы получили некоторый другой браузер.
Проверка, чтобы видеть, создает ли Safari свой собственный Объект DOM также, если так, получают имя объекта и делают то же самое, например:
var isSafari = (typeof (сафари) === "объект");
Hope эти подсказки справка.