Нам все еще нужно проверять различные типы браузеров в JavaScript?

Вероятно, это простой вопрос, и мне немного неловко его задать, но я какое-то время работал с этим фрагментом рекламного кода JavaScript, и меня беспокоило, что он никогда не имел для меня смысла и, вероятно, устарел. теперь с современными браузерами. У меня вопрос: нужно ли нам еще проверять типы браузеров и что делает этот второй фрагмент скрипта?

<script type = "text/javascript">
  document.write('<scr' + 'ipt src = "" type = "text/javascript"></scr' + 'ipt>');
</script>
<script type = "text/javascript">
  if ((!document.images && navigator.userAgent.indexOf('Mozilla/2.') >= 0)  || navigator.userAgent.indexOf("WebTV")>= 0) {
    document.write('<a href = "">');
    document.write('<img src = "" border = "0" alt = "" /></a>');
  }
</script>

Я хотел бы уточнить, что на самом деле я вызываю кому-то какой-то рекламный код, поэтому, хотя я могу проверить типы браузеров, это действительно будет обязанностью хранителя кода. Мне бы очень понравилось, если бы я мог поместить это в jQuery, но у меня проблемы с вызовом (см. Другой мой пост ниже).

Мне было интересно, нужно ли мне проверять эти типы браузеров?

Ура,
Стив

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
453
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

В основном мы используем библиотеки javascript, такие как jQuery, которые обрабатывают такие вещи за нас.

Как ни странно, в наши дни я гораздо чаще взламываю CSS для каждого браузера.

Я понимаю, что jQuery обрабатывает это, но на самом деле я пытаюсь создать вызов к кому-то другому сценарию, который не построен с помощью jQuery.

Steve Perks 26.11.2008 21:22

Лучше проверить, поддерживает ли DOM браузера определенные функции, а не работать со строкой пользовательского агента напрямую.

Ответ принят как подходящий

Во втором фрагменте кода: он проверяет две вещи:

  • Браузер, открывающий документ, поддерживает часть модели DOM document.images, документ содержит изображения и строка UserAgent браузера (идентификатор) содержит «Mozilla / 2.»,
  • ИЛИ что строка UserAgent содержит "WebTV"

в этих случаях он выводит пустую ссылку и тег изображения.

Вот почему используются API (например, jQuery). Они перекладывают ответственность за проверку совместимости браузера (и совместимости в будущем) с разработчика. Когда появляется новый браузер или новая версия браузера, при необходимости обновляется API, чтобы ваш код продолжал работать.

Так что посмотрите, сможете ли вы найти решение с помощью jQuery, и вам не придется об этом беспокоиться. Для будущей совместимости вам может потребоваться последняя версия jQuery, но теория такова, что ваш код не нужно обновлять.

Приятно слышать, что так много людей отстаивают jQuery, но код, который я добавляю, нацелен на внешний скрипт, который я не могу контролировать, и моя проблема в том, что всякий раз, когда я вызываю этот скрипт с помощью jQuery, объявления открываются сами по себе. страница:

$(this).append().html('<script src = "http://ad.doubleclick.net/adj/' + site + '.iclick.com/adtarget;subss=' + subss + ';subs=' + subs + ';area=' + area + ';site=' + site + ';kw=' + kw + ';sz=' + $adSize + ';pos=' + count + ';tile=' + tilecount + ';ord=' + zzzzadslotzzzz + '"></script>');

Я бы с удовольствием переместил это в jQuery (и это моя цель, так как я хочу остановить загрузку рекламы до тех пор, пока документ не будет готов)

Спасибо,
Стив

Другие вопросы по теме