Комментарии 33
Под кат. Бегом.
-5
Эх, почему так всегда, я вот только позавчера с подобной проблемой мучался. Все решил вроде. А сейчас вот такая статья. Но все же спасибо. Добавлю в избранное, тут параметров больше, чем у моей функции.
+3
В целом наличие сторонних разработок, повторяющих весь функционал get_browser() — полезная вещь :) Главное не забывать, что это исключительно свойства браузера, и, скажем, $browserInfo->JavaScript == 1 ещё не гарантирует, что он включён.
+3
было бы хорошо иметь нормальный способ получить разрешение монитора и его DPI и размер окна браузера пока те что я знаю уж очень кривые js
-1
скрипт к сожалению не идеален. Если зайти из под оперы, которая маскируется под лису, т.е. Mozilla/5.0 (Windows NT 5.1; U; ru; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.52 многие параметры начинают бажить.
Для исправления всего-то надо чекать сначала, является ли оперой или нет
Есди да, определяем версию. Если нет, чекаем на соответсвие другим браузерам.
Для исправления всего-то надо чекать сначала, является ли оперой или нет
Есди да, определяем версию. Если нет, чекаем на соответсвие другим браузерам.
+4
Чтоб в поисковиках показываться… а за клоакинг в бан не попадёте?
+2
В избранное, понадобится)) Спс))
0
всегда использую javascript для узнавания такого рода информации :)
-1
Оригинально, спс, побольше бы узнать о таких плюшках…
0
Хороший вопрос поднят в начале топика «о чем это?», но главный вопрос «зачем это?» совсем не раскрыт. Получилось что-то вроде игрушки — поиграться и выбросить. Все равно будут пользоваться javascript…
-2
Вы правы, это скорее для очень специфичных случаев, раньше это было очень необходимо, до появления HTML 2.0 скажем, сейчас редко используется сервер — сайд определение браузера для фиксов верстки. В тоже время отлично подойдет для скрипта статистики. Функция get_browser в php появилась в 2000ом году, это о чем то говорит :)
Хоть люди из Mozilla и утверждают, что этот документ только история, все равно полезно прочитать — The Ultimate JavaScript Client Sniffer и Browser Detection and Cross Browser Support
Хоть люди из Mozilla и утверждают, что этот документ только история, все равно полезно прочитать — The Ultimate JavaScript Client Sniffer и Browser Detection and Cross Browser Support
0
цитирование мануала, клёво :-)
ps: пхп знает о клиенте не больше апача, перла, и прочих руби и питонов
так что тему можно переименовать, а всё изложение свести к тому, что вся инфа недостоверна и передаётся в заголовках
ps: пхп знает о клиенте не больше апача, перла, и прочих руби и питонов
так что тему можно переименовать, а всё изложение свести к тому, что вся инфа недостоверна и передаётся в заголовках
-2
В одном моем проекте ребром стал вопрос о необходимости узнать браузер юзера с точностью до ста процентов, долго собирал заголовки браузеров и нашел некоторую закономерность. Думаю, сейчас это уже в прошлом, но два года назад именно порядок заголовков помог задетектить браузер.
0
100% точность невозможна
решения у задачи не существует
причина: rfc http
решения у задачи не существует
причина: rfc http
-1
Стопроцентной вероятности конечно нет. А указывать причиной документ, определяющий стандарты сервера и браузера — неоправданный бред. Можно поменять строку с юзер агентом, но очередность тех же заголовков RFC не определяет.
0
указанный документ определяет не стандарты сервера и браузера, а стандарты протокола их общения. и как раз в этом документе описано, как может (не «должен») идентифицировать себя браузер.
так что с бредом вы, конечно же, поторопились.
перечитайте, пожалуйста, мой пост ещё раз. я не утверждал, что очерёдность заголовков описывается данным рфц, я сказал, что согласно рфц нет ни одного достоверного способа решения вашей задачи.
так что с бредом вы, конечно же, поторопились.
перечитайте, пожалуйста, мой пост ещё раз. я не утверждал, что очерёдность заголовков описывается данным рфц, я сказал, что согласно рфц нет ни одного достоверного способа решения вашей задачи.
-1
пхп не знает. знает статистика. а достоверность дело относительное. на User-Agent полагаться нельзя ни на клиенте ни на сервере. Но можно делать правильные выводы. Если опера или файрфокс сменили юзер-агент, то это их проблемы уже, что они получат :)
0
> //вероятность выполнение участка кода стремится к нулю поэтому пишем сюда
Я бы тогда поменял местами два куска кода:
if(! ini_get('browscap'))
{// разбираемся с браузером}
else
{// посылаем начальство}
Хотя в данном случае это не особо принципиально, просто привычка пихать вперед то, что чаще сработает. Если будет много if/elseif, то производительность чуть получше, поскольку другие условия уже проверяться не будут.
Я бы тогда поменял местами два куска кода:
if(! ini_get('browscap'))
{// разбираемся с браузером}
else
{// посылаем начальство}
Хотя в данном случае это не особо принципиально, просто привычка пихать вперед то, что чаще сработает. Если будет много if/elseif, то производительность чуть получше, поскольку другие условия уже проверяться не будут.
0
Спасибо за статью, спасло от изобретения очередного велосипеда.
Только «предЫстория». =)
Только «предЫстория». =)
0
А есть ли таки способ узнать про включенность javaScript на уровне PHP? Очень долго искал попытку решить это на уровне PHP, но там и не смог
0
если очень захотеть, можно в космос полететь :) не могу представить зачем это надо, но если надо — например при заходе на сайт запрос аяксом к скрипту пхп, который установит в сессию маркер включенности явы. если ява отключена то и маркер не установится :)аналогично с куки — установить и попытаться считать… но данные будут доступны только при заходе на следующую страницу :) можно при первом заходе на сайт делать редирект на скрипт, который это все установит а потом вызовет запрашиваемую страницу. Моя больная фантазия пока исчерпалась :)
-1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Что PHP может узнать о браузере посетителя?