Как стать автором
Обновить

Комментарии 23

НЛО прилетело и опубликовало эту надпись здесь
А разве не сервер пересылает браузеру информацию о веб-странице и инструкции по её обработке?
а разве сервер не посылает в ответ ЗАПРОШЕННЫЕ страницы!?

давайте определимся:
1. ни один броузер не посылает в request headers информацию о том поддерживает он document.all или нет.
2. не имея такой информации сервер послать "страницу специально заточенную под document.all" не может.

теперь делаем вывод:
в статье идет речь о том, что из-за косолапо написанной client-side проверки версии броузера Opera определялась как IE, затем проставлялся маркер (cookie, параметр в GET, etc) который оповещал сервер о версии клиента. ну а как результат неправильно повешенного маркера сервер выдавал "не те" версии страниц.

таки образом сервер ни при чем! :D
и еще:
but invisible - you couldn't test for it and decide to go down the IE branch of a script.


речь идет о скрипте. клиентском скрипте.
про сервер в оригинале ни слова!
НЛО прилетело и опубликовало эту надпись здесь
Дотошность - это хорошо, но я лично не увидел особых проблем в том, как обозвать вторую сторону, взаимодействующую с браузером. Тем более, что фактически сервер принимает активное участие во всём процессе. В чём проблемы? ;)

Ну, заменил в статье "сервер" на "веб-сайт". IMHO, стало ненамного лучше ;)
разница принципиальная :)

суть ошибки которую исправили изложена тут. сервер в ней ни при делах ни разу. это вопрос обработки "if(document.all)" в JavaScript
"исправили" в смысле "Opera подкрутила" :")
Да уж, вот они - спецы ;)
Обычные пользователи прочитали новость и всё поняли, а спецам всякие мелочи в глаза бросаются ;)
НЛО прилетело и опубликовало эту надпись здесь
разработчики добавили в код браузера механизм, позволяющий избежать ошибок отображения некоторых веб-сайтов.

механизм browser.js существовал давно. загляните в Application Data\Opera\Opera\profile\browser.js
подробности на http://www.opera.com/docs/browserjs/

в чем-то новость? в том, что в browser.js внесли новый workaround?
Новость в новом способе работы с сервером в отношении метода JavaScript document.all
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Очень полезно хотя бы немного разбираться в том, о чём вы пишете.
Иначе даже самый хороший перевод обречён на провал.
Любимое место:

механизм, позволяющий скрывать от веб-сайта тот факт, что браузер поддерживает метод JavaScript document.all
В данном случае это совершенно некритично: новость передаёт основной смысл события - Opera Software ищет способы избавиться от застарелой ошибки. А технические тонкости особого знгачения не имеют. Тем более - на Хабре, который не является узкоспециализированным техническим ресурсом.
НЛО прилетело и опубликовало эту надпись здесь
идиотизм однако.
многое побьется, поскольку частенько проверяют на document.all
А что делать? Когда-то ведь надо начинать отказываться от "костылей". Кстати, как я понял, Opera Software повторяет сейчас то, как решают аналогичную проблему в FF или Safari.
FF и Safari таким образом не решали проблему. И в FF, и в Safari document.all есть и поддерживатся.
Все зависит от того как проверять:

document.all !== undefined
typeof document.all != 'undefined'
!!document.all

В Опере и IE все случаи вернут true. В FF все случаи вернут false, но это на самом деле коллекция и с ней можно работать. В Safari первое вернет true, остальные false.
Во всех этих браузерах, коллекция document.all доступна.
Кстати, в Opera document.all работает быстрее чем document.getElementByTagName('*'). В других браузерах пока не проверял (пока не стал писать данный комментарий и не попробывал тест в FF, не знал что в нем это поддерживается). Так что, лучше мне знать, могу ли я использовать document.all (пусть это и атавизм), или нет - раз он дает выигрыш в скорости, и делаем проще выполнение некоторых операций.

ЗЫ Кстати если MS в IE сделает подобное, будет столько криков... а тут воспринимается как вселенское счастье.
Оказывается FF поддерживает document.all только в quirk mode, и то ругается что "Было использовано нестандартное свойство document.all".
Последняя сборка — худшая которую я видел, у меня ломается половина сайтов, включая Хабр.
Ну вот, опять решают за разработчиков!
Те кто озабочен тем, что сайт не работает или работает некорректно в опера, и так делают более "умную" проверку нежели document.all. Если так уж хотят, пусть тогда совсем откажутся от document.all, нежели придумывать всякие рычажки.
Потом начинается петрушка, клиент говорит, что у него Опера такая то, и "сайт" не работает, почему? Запускаешь ту же версию, и все работает. И тратишь нервы и время, чтобы выяснить в чем беда, а потом оказывается он "какую-то" галочку поставил.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории