2014-10-16 4 views
1

Я прочитал несколько статей об обнаружении функций и что он более надежен, чем обнаружение браузеров, поскольку браузеры лежат.Почему пользовательские агенты/браузеры лежат

Я не мог найти информацию о том, почему они лгут. Кто-нибудь знает, почему они это сделают?

ответ

1

Насколько я понимаю, веб-мастерам требуется обнюхивать браузер, чтобы найти возможности браузера и ограничить их отправку в браузер. Если браузер лжет это возможности они будут получать больше от веб-мастеров, вы можете прочитать:

http://farukat.es/journal/2011/02/499-lest-we-forget-or-how-i-learned-whats-so-bad-about-browser-sniffing

http://webaim.org/blog/user-agent-string-history/

+0

браузеры не лгут об их функциях. Но вы можете изменить строку пользовательского агента через любой инструмент разработчика. Или ... существует так много вариаций строк пользовательского агента, что невозможно сохранить достоверную базу данных браузеров/комбинаций устройств с их соответствующими возможностями. Что делать, если ОС обновляется, и теперь неожиданно работает X? Так много сценариев. Вот почему обнаружение функции - это правильный путь. Они не могут лгать об этом, но неправильно реализуют функции. –

+0

Не могли бы вы предоставить некоторые источники информации? Мой первый источник исходит от Фарука Атеса, создателя Modernizr (функция обнаружения), который говорит: «Самая большая проблема с нюханием UA - это часть« UA », потому что браузеры лежат много, они начали лежать с выпуском Microsoft Internet Explorer 2.0 , и они продолжают врать по сей день. Браузеры о том, кто они и что они могут делать все время ». и без дальнейших доказательств от вас я больше склонен ему поверить. –

2

Причина проста:

Поскольку веб-сайты смотреть на пользователя строка оператора и сделать предположения о браузере, которые затем недействительны, когда браузер обновлен до новой версии.

Это происходит почти с самого начала сети. Поставщики браузеров не хотят, чтобы их новые версии нарушали Интернет, поэтому они настраивают строку UA, чтобы обмануть код на существующих сайтах.

В конечном счете, если каждый пользователь использовал строку UA ответственно и обновлял свои сайты всякий раз, когда появлялись новые версии браузера, тогда браузеру не нужно было лгать. Но вы должны признать, что это довольно много.

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

Конечно, есть моменты, когда функция обнаружения не работает отлично - например, возможно, если функция существует, но имеет ошибки в определенном браузере. В таком случае, да, вы можете использовать обнаружение браузера в качестве спада. Но в большинстве случаев функция обнаружения является гораздо лучшим вариантом.

Смежные вопросы