Comments 74
А куда дели Lynx, iCab, Konqueror и кучу других?
Получается, что только «референсные» взяли.
Получается, что только «референсные» взяли.
+1
1) Konqueror есть.
2)
3) iCab и кучу других браузеров, которыми пользуются 0,0… % пользователей обычно основаны либо на Геко либо на KHTML
2)
В Начале был NCSA Mosaic… и показал он пользователем картинки в тексте..., здесь говориться по поводу полноценных браузеров. (это о Lynx).
3) iCab и кучу других браузеров, которыми пользуются 0,0… % пользователей обычно основаны либо на Геко либо на KHTML
+5
а, что, отличный перевод!
плюс!
плюс!
+4
Спасибо! :)
+3
Очень поучительно и доступно.
+1
Читается на одном дыхании как молитва. Спасибо
+12
Познавательно и весело. Здорово!
-1
Последний абзац, как вывод, улыбнул :)
+4
Содержательно, но написано не очень.
Как учение какой-то секты.
Как учение какой-то секты.
-2
Меня это наоборот привлекло в тексте. Стали бы вы читать историю каких-то скучных строчек, будь оно написано в стиле Википедии?
А тут прекрасно виден весь юмор сложившейся ситуации.
А тут прекрасно виден весь юмор сложившейся ситуации.
+3
Юмор виден лишь тем кто не замечает негативного влияния огромного числа псевдо-реллигий на современное общество.
Читать бы стал.
Интересна сама тема.
Академический язык Википедии не критичен, меня вполне удоволетворил бы и обычный литературный.
Что не минусуете — это хорошо, хотя и не особо важно.
Читать бы стал.
Интересна сама тема.
Академический язык Википедии не критичен, меня вполне удоволетворил бы и обычный литературный.
Что не минусуете — это хорошо, хотя и не особо важно.
-6
зы, минусую не я.
-2
about: mozilla?
+3
UFO just landed and posted this here
А ведь настоящий вебмастер имеет столько шишек на лбу сколько браузеров… И это печальная правда…
+2
А я всё думал откуда в юзер-агенте IE слово Mozilla.
Спасибо. Стало понятней.
Спасибо. Стало понятней.
+20
Анахер/1.0 (такие; ЗАПУтанные 2.0; Юзер Агенты 3.9.91232)
+16
Отличный перевод, над концовкой смеялся от души! :))
0
Опера как-то не хронологически расположена. Исторически она опережает и переродившуюся мозиллу (на два года), и ff (на шесть лет) и konqueror (на четыре года).
Про опиру стоит упомянуть, что та с пятой версии (или даже раньше?) прикидывалась IE, копируя и то, что ie прикидывался mozilla…
Про опиру стоит упомянуть, что та с пятой версии (или даже раньше?) прикидывалась IE, копируя и то, что ie прикидывался mozilla…
+1
Опера расположена там, где она занялась этим безумием. Вначале Opera пыталась играть по правилами и имела нормальный user-agent. Хотя вроде как выбор User-Agent'а появился до Firefox — но точно после Mozilla'ы…
+1
Опера стала играть юзерагентами с 6-й версии, после печальной истории с MSN.com, когда MS стали опере подсовывать там кривой код, чтобы была кривая страница и пользователи отвернулись от оперы (а шёл 2000 или 2001 год). Opera Software возмутились и подали в суд. И выиграли его (Миллион долларов отсудили, что-ли). Но с тех пор, до самой девятой версии, Опера прикидывалась IE по умолчанию (с возможностью выбора UA).
Кстати говоря, Opera/9.51 (Windows NT 5.1; U; en) — самый вменяемый UA. Вменяемее только NCSA_Mosaic/2.0 (Windows 3.1)
Кстати говоря, Opera/9.51 (Windows NT 5.1; U; en) — самый вменяемый UA. Вменяемее только NCSA_Mosaic/2.0 (Windows 3.1)
+1
Порадовало. Да, пожалуй стоит пересмотреть компаниям политику юзер-агентов и назвать всё своими именами. Полегчает ли? — вопрос открытый.
Лучше б сосредоточились на соответствии стандартам w3c, думаю всем станет легче, если не придется проводить часы над кросс-браузерной оптимизацией. Конечно в большей степени это относится только к одному браузеру, но да ладно, стараться должны все.
Лучше б сосредоточились на соответствии стандартам w3c, думаю всем станет легче, если не придется проводить часы над кросс-браузерной оптимизацией. Конечно в большей степени это относится только к одному браузеру, но да ладно, стараться должны все.
+1
Да, пожалуй стоит пересмотреть компаниям политику юзер-агентов и назвать всё своими именами. Полегчает ли? — вопрос открытый.Ну… Web-мастерам полегчает, да. Так как любой браузер, который так сделает потеряет 99% пользователей (а может и 99.9%) сходу и про него можно будет забыть…
Но есть и другие, более простые, способы угробить браузер…
0
В смысле если FF станет писать что-то вроде «Firefox/3.0.1 Gecko/2008070208», то он потеряет сразу всех пользователей?
0
ну… моя опера отмечается как опера и особых проблем как-то не видно.
+2
прекрасное повествование
0
artyfarty, Спасибо, очень понравилось.
Я понимаю, что это перевод, но мне кажется статью можно сделать намного лучше, добавляя свои примечания по поводу во-первых хронологии (действительно, Опера появилась раньше нежели «переродившийся Файрфокс»), а во-вторых — вкраце — как изменялись веб-стандарты с течением времени (упоминаются только фреймы) и какие браузеры то или иное поддерживали. Тогда топик будет вообще блеск. Я сам в свое время замучился рыскать по википедии, выясняя что было раньше, а что позже и почему. :-) Если не хочется портить перевод, и тема вам интересна, напишите еще одну статью. Я не стебусь, я абсолютно серьезно.
Добавлю вам кармы в надежде, что вы это сделаете. :-) С уважением.
Я понимаю, что это перевод, но мне кажется статью можно сделать намного лучше, добавляя свои примечания по поводу во-первых хронологии (действительно, Опера появилась раньше нежели «переродившийся Файрфокс»), а во-вторых — вкраце — как изменялись веб-стандарты с течением времени (упоминаются только фреймы) и какие браузеры то или иное поддерживали. Тогда топик будет вообще блеск. Я сам в свое время замучился рыскать по википедии, выясняя что было раньше, а что позже и почему. :-) Если не хочется портить перевод, и тема вам интересна, напишите еще одну статью. Я не стебусь, я абсолютно серьезно.
Добавлю вам кармы в надежде, что вы это сделаете. :-) С уважением.
+1
повеселило )))
0
вот я ток одного не понимаю. вебмастера стали делать сайты с фреймами только для мазилы, потому-что больше небыло браузеров, которые их открывали. и вот, когда исчезли браузеры, которые их показывать не могут — нафига маскироваться? и уж темболее хрому под сафари…
0
Наследственность — тяжелая штука.
+2
Потому что есть куча готовых сайтов типа
if (… IE....) {
} else if (… Mozilla....)
} else {
document.write('Извините, ваш браузер не поддерживается');
}
Например внутренняя привата24. Далее сайт показывается нормально, но строчка присутствует. Поэтому если придумать свой новый юзерагент, то получим эту надпись. А это антиреклама для непонимающих пользователей.
if (… IE....) {
} else if (… Mozilla....)
} else {
document.write('Извините, ваш браузер не поддерживается');
}
Например внутренняя привата24. Далее сайт показывается нормально, но строчка присутствует. Поэтому если придумать свой новый юзерагент, то получим эту надпись. А это антиреклама для непонимающих пользователей.
+2
UFO just landed and posted this here
«давайте постебёмся над Майкрософт и обзовём винду плохоотдебаженными драйверами устройств»
а что это означает? я не в курсе… :(
а что это означает? я не в курсе… :(
+1
Marc Andreessen, the founder of Netscape, once famously stated that Windows was nothing but a set of poorly debugged device drivers, which the web would soon make obsolete.Первоначальный источник не найден. Marc Andreessen — разработчки Netscape
+5
читать тяжело, но прикольно, так что плюс)
0
Да, концовка прикольная особенно)
-2
оригинальный текст написал в стиле пародии на библию… очень забавно читать
0
Он написан в стиле пародии на пародию. Откуда там фраза and there was much rejoicing, догадываетесь?
+1
мне кажется это не забавным, а очень-очень грустным… <_<
+1
UFO just landed and posted this here
Пасибо — а то никак не мог въехать какого и ослик и огнелис являются мозиллами :)
+1
Спасибо, многое стало понятно. Удивляет, почему в новую эпоху браузерных войн нельзя свести useragent к такому виду:
Opera 9.51, Linux
Safari 3.0, Windows
IE7, Windows
Firefox 3.0, MacOS
Opera 9.51, Linux
Safari 3.0, Windows
IE7, Windows
Firefox 3.0, MacOS
0
Ах вот оно что!
Теперь многое встало на свои места.
Еще раз спасибо за статью! и плюс в карму!
Теперь многое встало на свои места.
Еще раз спасибо за статью! и плюс в карму!
0
Отлично написано. Читается со смехом.
Долго думал, почему у всех браузеров юзер-агент начинается с Mozilla/x.0.
Какая максимальная длина поля User-Agent по стандарту?;)
Долго думал, почему у всех браузеров юзер-агент начинается с Mozilla/x.0.
Какая максимальная длина поля User-Agent по стандарту?;)
+1
Определение браузера на серверной стороне используется реже определения клиентского.
А грамотное клиентское определение вообще не должно обращаться к UserAgent.
Все, наверное, видели старый бородатый способ либо сотни его вариаций (код на данный момент устарел, привёл просто в качестве примера):
Вообще, определение сводится к ключевым проверкам:
1. Определение Оперы. Если существует window.opera, значит Opera
2. Определение Chrome (ненадёжно)document.all есть в FF, IE и Opera, т.е почти везде. Но попробуте в Chrome ввести в адресной строке javascript: alert(document.all).
3. Для IE есть решение «напролом»:
4. Определение IE6. XMLHttpRequest работает в Opera, FF, IE7, Chrome. Но в IE6 его нет. (проверьте: javascript: alert(typeof XMLHttpRequest))
5. FF определяется чаще всего так: isMozilla=! isMSIE &&! isOpera. Решение «в лоб», ужасное, некрасивое, но для тех, кто верстает только под 3 браузера (часто этого хватает), сойдёт.
5.1 Определение FF возможно внутри кода обработки события: if (typeof e.offsetX == 'undefined') { isFF=1}
А грамотное клиентское определение вообще не должно обращаться к UserAgent.
Все, наверное, видели старый бородатый способ либо сотни его вариаций (код на данный момент устарел, привёл просто в качестве примера):
isDOM=document.getElementById //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
isOpera=isOpera5=window.opera && isDOM //Opera 5+
isOpera6=isOpera && window.print //Opera 6+
isOpera7=isOpera && document.readyState //Opera 7+
isMSIE=document.all && document.all.item && !isOpera //Microsoft Internet Explorer 4+
isMSIE5=isDOM && isMSIE //MSIE 5+
isNetscape4=document.layers //Netscape 4.*
isMozilla=isDOM && navigator.appName=="Netscape" //Mozilla или Netscape 6.*
Вообще, определение сводится к ключевым проверкам:
1. Определение Оперы. Если существует window.opera, значит Opera
2. Определение Chrome (ненадёжно)document.all есть в FF, IE и Opera, т.е почти везде. Но попробуте в Chrome ввести в адресной строке javascript: alert(document.all).
3. Для IE есть решение «напролом»:
<![if IE 7]>
<script>
var IsIE=1
</script>
<![endif]>
4. Определение IE6. XMLHttpRequest работает в Opera, FF, IE7, Chrome. Но в IE6 его нет. (проверьте: javascript: alert(typeof XMLHttpRequest))
5. FF определяется чаще всего так: isMozilla=! isMSIE &&! isOpera. Решение «в лоб», ужасное, некрасивое, но для тех, кто верстает только под 3 браузера (часто этого хватает), сойдёт.
5.1 Определение FF возможно внутри кода обработки события: if (typeof e.offsetX == 'undefined') { isFF=1}
+3
Да, определение Chrome==Определение Safari
(но определение Chrome!===Определение Safari)
(но определение Chrome!===Определение Safari)
+1
А мне больше нравятся штуки вообще без определения браузера, вроде:
if (! e) e = window.event;
if (! e) e = window.event;
+3
UFO just landed and posted this here
2. Не знаю зачем вам выделять Chrome :) но если хотите выделить движок, то используйте тоже самое для определения webkit, если вам нужно определить javascript — то есть одна особенность: V8 не разрешает использовать имя native. собственно можно попробывать такой код (не уверен что получится, но вроде должно)
try {
(new Function('return native'))();
}catch(e){ isChrome = 1 }
3. Не обязательно использовать conditional comments. Есть способ лучше
/*@cc_on@*//*@if (@_jscript_version) isIE=1 @end @*/
4. Пользуйтесь способом выше — @_jscript_version содержит версию javascript движка, каждая версия соответствует определенной версии IE. На msdn есть таблица соответствий.
5. Можно проверять gecko only свойства/методы, как например GeckoActiveXObject или window.atob()/window.btoa(). Последние еще в Netscape были, и насколько я знаю в других браузерах не встречаются.
try {
(new Function('return native'))();
}catch(e){ isChrome = 1 }
3. Не обязательно использовать conditional comments. Есть способ лучше
/*@cc_on@*//*@if (@_jscript_version) isIE=1 @end @*/
4. Пользуйтесь способом выше — @_jscript_version содержит версию javascript движка, каждая версия соответствует определенной версии IE. На msdn есть таблица соответствий.
5. Можно проверять gecko only свойства/методы, как например GeckoActiveXObject или window.atob()/window.btoa(). Последние еще в Netscape были, и насколько я знаю в других браузерах не встречаются.
+1
Вы что-то перепутали относительно времени прихода Оперы и Фаерфокса.
0
Нда… Полный ппц в стане браузеров :(
Скоро в юзерагентах будут писать ACID совместимость:
User-Agent: ACID
User-Agent: ACID2
User-Agent: ACID3
PS: Они таки убили NCSA Mosaic…
Скоро в юзерагентах будут писать ACID совместимость:
User-Agent: ACID
User-Agent: ACID2
User-Agent: ACID3
PS: Они таки убили NCSA Mosaic…
0
UFO just landed and posted this here
Интересно, почему я не удивлен, что «упячка» не интересуется user-agent-ом? И надо-ли всем брать с нее пример :)))
0
Мицгол, ты?
0
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240
+1
Sign up to leave a comment.
Articles
Change theme settings
История юзер-агентов