Comments 103
Да, тонны таких ошибок :( Постоянно приходится писать и просить.
Но самое досадное — это когда отдают мобильную версию только завидев «Opera» в агенте.
Но самое досадное — это когда отдают мобильную версию только завидев «Opera» в агенте.
Ну, криворукие есть везде.
Тут уж виноват не инструмент (определение браузера) а кривизна его использования.
Само по себе определение делать приходится, т.к. далеко не всегда можно сделать так, чтоб один и тот же код адекватно работал везде и не спотыкался о глюки отдельно взятых браузеров (конечно, это больше актуально для сложных сайтов с изощренной структурой)…
Так что я бы сказал не «Перестаньте вынюхивать, что у меня за браузер», а «Вынюхивайте с умом»…
Тут уж виноват не инструмент (определение браузера) а кривизна его использования.
Само по себе определение делать приходится, т.к. далеко не всегда можно сделать так, чтоб один и тот же код адекватно работал везде и не спотыкался о глюки отдельно взятых браузеров (конечно, это больше актуально для сложных сайтов с изощренной структурой)…
Так что я бы сказал не «Перестаньте вынюхивать, что у меня за браузер», а «Вынюхивайте с умом»…
Для многих вещей нужно определять не браузер, а его возможности. Например, кто бы мог подумать, что в ИЕ9 будет канва и свг. Готов поспорить, есть люди, которые писали так:
Теперь их код работать не будет.
Другое дело, что очень часто нельзя определить, есть ли фича в браузере. Например, я не могу сейчас сказать, будет ли глючить в ИЕ9 полупрозрачность с полупрозрачными картинками и не могу придумать, как это можно определить. Поэтому приходится до сих пор писать:
if (ie) { // VML } else { // SVG }
Теперь их код работать не будет.
Другое дело, что очень часто нельзя определить, есть ли фича в браузере. Например, я не могу сейчас сказать, будет ли глючить в ИЕ9 полупрозрачность с полупрозрачными картинками и не могу придумать, как это можно определить. Поэтому приходится до сих пор писать:
if (ie) { $block.show(); } else { $block.fadeIn(); }
Это фичи. Когда вопрос в фичах браузера — тогда да, нужно определять их.
Но есть и лаги. Тут остается только браузер и определять.
В частности, в той же опере до сих пор не считаются дробные проценты и есть жесткие проблемы с расчетами скролов и размеров родителей у блоков с overflow:hidden (боди распухает до размеров скрытого контента, например) и большим и сложным контентом внутри (я багрепортил, да).
Да, проблема возникает в основном на сложных сайтах с не_стандартной навигацией, но факт остается фактом. Бороться с этим — никак. Я сломал мозг об эту проблему, не решается.
Поэтому приходится придумывать специально для оперы какие-то выкрутасы.
Что делать в таком случае? Приходится определять браузер и выдавать ему другой код. Хреново, но альтернатив нету.
Но конечно, это крайние методы, когда все другое уже перепробовано
Но есть и лаги. Тут остается только браузер и определять.
В частности, в той же опере до сих пор не считаются дробные проценты и есть жесткие проблемы с расчетами скролов и размеров родителей у блоков с overflow:hidden (боди распухает до размеров скрытого контента, например) и большим и сложным контентом внутри (я багрепортил, да).
Да, проблема возникает в основном на сложных сайтах с не_стандартной навигацией, но факт остается фактом. Бороться с этим — никак. Я сломал мозг об эту проблему, не решается.
Поэтому приходится придумывать специально для оперы какие-то выкрутасы.
Что делать в таком случае? Приходится определять браузер и выдавать ему другой код. Хреново, но альтернатив нету.
Но конечно, это крайние методы, когда все другое уже перепробовано
покажи простенький пример — вместе подумаем ;-)
Простенький не получится, пожалуй…
nekisni.terion.name/#portfolio
Специально оставил этот форк верстки для багрепорта и продолжил с другой копией.
Если нажать на работу из списка — все увидете.
Когда работа «влетает» снизу вверх у боди вылазит вертикальный скрол.
Плюс — огромный горизонтальный, на ширину списка превьюшек, спрятанных в блок, с оверфлоу: хидден
Есть еще сайт, но там я уже вешаю костыли, так что он уже не репрезентативен.
Вообще, судя по всему, проблемы начинаются когда появляется позишн: абсолют.
nekisni.terion.name/#portfolio
Специально оставил этот форк верстки для багрепорта и продолжил с другой копией.
Если нажать на работу из списка — все увидете.
Когда работа «влетает» снизу вверх у боди вылазит вертикальный скрол.
Плюс — огромный горизонтальный, на ширину списка превьюшек, спрятанных в блок, с оверфлоу: хидден
Есть еще сайт, но там я уже вешаю костыли, так что он уже не репрезентативен.
Вообще, судя по всему, проблемы начинаются когда появляется позишн: абсолют.
кто придумал такую ебанутую навигацию? =_=
имхо — ничего так — имеет право на жизнь, если список не на три экрана. что-то похожее на fish eye.
а это не важно. факт в том, что опера рендерит страницу неправильно.
даже ИЕ справляется.
вот почему я и говорю, что приходится заниматься определением браузера иногда
даже ИЕ справляется.
вот почему я и говорю, что приходится заниматься определением браузера иногда
Стоит последняя опера — всё ок, артефактов никаких не вижу.
в ие9 отключал vml? 0_0
Ну насчет первого вы, конечно, загнули ) Но второе-третье стабильно, да.
Оказывается, вы правы: по некоторым счётчикам, действительно, первое. Давно не смотрел статистику.
Да, спасибо. Кстати, если переключить в режим Line тоже интересная картинка получается.
Интересно посмотреть на вот этот график: gs.statcounter.com/#browser_version-ww-monthly-200905-201006
Сразу видно, какие у IE проблемы с автообновлением.
Сразу видно, какие у IE проблемы с автообновлением.
Акромя аськи пора России Оперу покупать
Странно зачем в DOCTYPE писать xhtml *и* отдавать с типом xhtml, если это не xhtml.
> Или они тестировать проекты разучились?
Вероятно, они вообще не знают про Opera.
Вероятно, они вообще не знают про Opera.
Я отметил, что проблема не в конкретном браузере, который они не знают, а во всех браузерах, которые они не знают, включая будущие браузеры.
Вы не правы. К примеру в таком браузере как netsurf(user-agent — netsurf) сайт отображается. Правда некорректно, т.к. у этого браузера нет js движка, но тем не менее.
Или к примеру в таких браузерах как links/elinks/w3m — все нормально.
Кроме того например в konqeror можно выставить произвольный user-agent и сайт продолжает отображаться, даже если konqeror притворяется оперой.
Или к примеру в таких браузерах как links/elinks/w3m — все нормально.
Кроме того например в konqeror можно выставить произвольный user-agent и сайт продолжает отображаться, даже если konqeror притворяется оперой.
Наверное перечисленные вами браузеры просто не умеют работать с xml и не делают отличий от html.
Именно так)
Konqeror опционально использует последнюю версию вебкита. Врядли она не умеет отличать xml от html как мне кажется.
Вот стандартный конкверовский юзер-агент
Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.3 (KHTML, like Gecko) konqueror/4.4.85 Safari/533.3
Вот стандартный конкверовский юзер-агент
Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.3 (KHTML, like Gecko) konqueror/4.4.85 Safari/533.3
Он притворяется сафари. Уберите часть «AppleWebKit/533.3 (KHTML, like Gecko) konqueror/4.4.85 Safari/533.3», посмотрите, что будет.
как показывают ныне бурлящие события, тестировать разучились не только вэб-разработчики…
А контент различается? Хотя бы DOCTYPE. Или только заголовки ответа?
Почти не отличается. Кое где разное количество переносов строк, но я думаю, это скорее разная интерпретация последовательностей символов \10 \13, чем реальные различия в тексте.
Действительно достала уже позиция некоторых разработчиков — типа «Опера плохой браузер и поэтому мой сайт нормально работает только в Файрфоксе». Возникает закономерный вопрос — «А хорош ли сайт, который работает только в том браузере, который нравится его создателю?»
Сложно не согласиться, только статья немного не о том ;)
Для России — опера актуальна. Если такое происходит у нас (т.е. на сайтах, целевая аудитория которых — наша страна) — позор таким разработчикам.
А вот за границей несколько другая ситуация: gs.statcounter.com
У оперы 1.92%. Отдельно в USA 0.63%.
У того же IE6 существенно большая доля…
А вот за границей несколько другая ситуация: gs.statcounter.com
У оперы 1.92%. Отдельно в USA 0.63%.
У того же IE6 существенно большая доля…
А что, опера уже найчилась поддерживать стандарты?
Хотя бы CSS1?
Хотя бы CSS1?
ЛОР в соседней вкладке.
СРазу узнаю фаната, никогда не сверставшего ни одной страницы.
Вы пробовали, в опере, например, задать ширину элемента в 33.3%?
bolknote.ru/2010/06/11/~2562#02
www.opera.com/docs/specs/presto25/css/properties/
Вы пробовали, в опере, например, задать ширину элемента в 33.3%?
bolknote.ru/2010/06/11/~2562#02
www.opera.com/docs/specs/presto25/css/properties/
Ни разу не сталкивался с подобной проблемой в asp.net.
Возможно, эти сайты на какой-то одной cms или используют какую-то библиотеку стороннюю…
Возможно, эти сайты на какой-то одной cms или используют какую-то библиотеку стороннюю…
Firefox 3.7 альфа выдаёт такую же ошибку парсинга на всех трёх приведённых примерах. Дело тут не в браузере, а в кривом XML.
Уже выяснили, что сервер пытается отдать страницу как XML любому браузеру, который не знает.
«Который не знает» что? Или имеется ввиду «которого не знает»?
Вы ошибаетесь, ASP.NET 2.0 знает Оперу. Можете проверить браузерные конфигурации. ASP.NET 2.0 знает Оперу до версии 9. ASP.NET 4.0 знает до 10й.
Дело не в «знает — не знает», дело в том, что отдает кому-то заведомо ложную информацию.
Я отвечал Volshebnyi, он ошибся. Для его информации я написал прошлый коментарий.
Теперь отвечаю вам. Сервер никому ложной информации не отдавал. Там действительно XHTML и действительно должно быть application/xhtml+xml. Другое дело что разработчики сайтов набакапорили в разметке и скриптах.
Теперь отвечаю вам. Сервер никому ложной информации не отдавал. Там действительно XHTML и действительно должно быть application/xhtml+xml. Другое дело что разработчики сайтов набакапорили в разметке и скриптах.
Плохо, что Опера не читает Html документ названный в русской транскрипции «страничка.html»
называть файлы с использованием не-ascii символов — извращение…
Я согласен с вами. Но современный мир с разными людьми вносит свои коррективы. Например, мне лень вводить своё название на английском при сохранении страницы. Потому я решил расширить парадигму своего мира))) и не быть столь критичным.
Почему это?
Потому что нет никаких объективных причин для того чтобы это делать, с другой стороны не-ascii в названии может создать множество разнообразных проблем. К примеру на компьютере где вы создали эту страничку кодировка cp1251, а на сервере куда вы её загрузили стоит старая фря и русский язык там декодируется через koi8-r.
К тому же браузерам получается нужно понимать все возможные кодировки в названиях, непонятно только каким образом. DOCTYPE там не проставишь…
К тому же браузерам получается нужно понимать все возможные кодировки в названиях, непонятно только каким образом. DOCTYPE там не проставишь…
Большинство людей в России английского не знают, так что объективная причина — в интернет всё больше выходит простых людей, в нём всё меньше гиков.
Не надо создавать страницу в cp1251 и koi8-r. Используйте UTF-8. Мы все хотим перестать поддерживать IE6, так давайте и старые кодировки постепенно выбрасывать на помойку.
Не надо создавать страницу в cp1251 и koi8-r. Используйте UTF-8. Мы все хотим перестать поддерживать IE6, так давайте и старые кодировки постепенно выбрасывать на помойку.
>> Большинство людей в России английского не знают, так что объективная причина — в интернет всё больше выходит простых людей, в нём всё меньше гиков.
Ээ и по этому поводу нужно называть _файлы_ русскими символами? Какое вообще дело большинству людей как у вас странички на сервере называются?
И кстати «используйте utf-8» тут немного не в тему т.к. не зависит от пользователя. winxp хранит названия файлов в cp1251. Равно как и неподконтрольный вам сервер может держать их в любой угодной ему кодировке, какую там администраторы поставят, более того — если это какой нибудь забугорный шаред-хостинг то там может вообще не быть поддержки кириллицы, как класса.
Ээ и по этому поводу нужно называть _файлы_ русскими символами? Какое вообще дело большинству людей как у вас странички на сервере называются?
И кстати «используйте utf-8» тут немного не в тему т.к. не зависит от пользователя. winxp хранит названия файлов в cp1251. Равно как и неподконтрольный вам сервер может держать их в любой угодной ему кодировке, какую там администраторы поставят, более того — если это какой нибудь забугорный шаред-хостинг то там может вообще не быть поддержки кириллицы, как класса.
WinXP не хранит в cp1251, это я как любитель европейской музыки с умляутами говорю.
Вообще, двадцать первый век на дворе, а вы про ascii говорите. Из-за этого ascii сорок лет страдали все, кто не американцы.
Вообще, двадцать первый век на дворе, а вы про ascii говорите. Из-за этого ascii сорок лет страдали все, кто не американцы.
Хм. Ну вообще оно хранит _кирилицу_ в cp1251. Насколько я знаю. Европейские символы — в cp1252. И т.д.
К примеру монтируя самба-шару winxp машины приходится указывать iocharset=cp1251 дабы видеть русские символы в названиях файлов.
К примеру монтируя самба-шару winxp машины приходится указывать iocharset=cp1251 дабы видеть русские символы в названиях файлов.
Скорее всего, это ограничение протокола. Педивикия говорит, что NTFS хранит имена в Unicode, а вот в SMB юникод стал обязательным только начиная с версии 2 (в Висте).
Интересно, как WinXP у меня на компе файлы с названиями на японском хранит? С однобайтовой-то кодировкой.
Хранит кодировку для названия каждой папки? Бред.
Скорее конвертит названия в win-1251 для передачи по сети.
Хранит кодировку для названия каждой папки? Бред.
Скорее конвертит названия в win-1251 для передачи по сети.
А вот по хостинг правда ваша, униховые админы до сих пор koi8-r любят.
NTFS хранит все данные исключительно в UTF16. В XP файловая система — NTFS. Все данные по инету по-дефолту летают в UTF8. Причин использовать 1251 не существует.
Как решение проблемы со стороны браузера можно предложить давать пользователю возможность нажать на кнопку «попробовать открыть страницу как HTML», потому что судя по всему на подобный сайт может попасть любой рано или поздно.
Странно по стандарту XHTML должен возвращаться как application/xhtml+xml (http://www.w3.org/2003/01/xhtml-mimetype/), тоесть Опере вернули по стандарту в соответствии с заголовком документа. Вернули немного не валидный ХМЛ и Опера сдохла. Просто интересно, а че Опера неможет включить мозг и попробовать хоть чето показать?
опера и спрашивает отображать как html или нет, а автоматические отображения не нужны.
Ну судя по этому посту, таки нужны. Ведь нам надо не проверить страничку, а посмотреть ее.
Об этом вы можете поспорить с W3C. Если не уверены, что сможете всегда отдавать валидный xml, не обманывайте браузер.
Я понимаю что со «включенным» мозгом сложно понять что от ошибок никто не застрахован… Вы никогда не ошибались? Ну оишбились разработчики сайта в разметке. В чем проблемы? Напишите разработчикам сайта (што набакапорили), напишите разработчикам Оперы (што с енкодингом они релизовали попытки, а с ХМЛ не могут, напишите разработчикам ASP.NET (какого хрена они FF отдали text/html). Че я буду спорить то? Я не пользуюсь Оперой. Мой браузер эти странички показывает на раз два три.
Я понимаю что со «включенным» мозгом сложно понять что от ошибок никто не застрахован…Я не понимаю, в чем проблема. Есть режим, в котором ошибки допускаются, и есть в котором не допускаются. Если у вас система сама страничку в строгом xml строит, можете поставить второй. Если вы сами все время руками в коде лазите, второй режим не для вам. Ошибиться тут можно только один раз с выбором режима.
По стандарту браузер должен на xml демонстрировать отсутствие мозга и падать на первой же ошибке. Если браузер пытается что-то показать из сломанной xml разметки, то он не поддерживает xml.
Помоему мозг нужно включить вам. Вопервых версия XHTML 1.0 отличается от версии XHTML 1.1 строгим соответствием xml. Вовторых доктайп тут вообще не при делах. Парсить документ как xml или как html браузеры (по крайней мере современные) решают на основе контент-тайпа. Ну и в третьих, документ не может быть немного невалидным, либо валидный, либо нет.
версия XHTML 1.0 отличается от версии XHTML 1.1 строгим соответствием xml
Что это означает?
Когда-то слышал что XHTML 1.1 обязан быть в строгом xml, в том числе с соответствующими заголовками. Но сейчас поискал информацию, не нашел об этом упоминания. Зато часто встречается информация, что в XHTML 1.1 есть только Strict-режим. Теперь сомневаюсь, возможно я ошибся, или человек, от которого я это слышал.
А, Вы не в курсе.
Во-первых, все версии XHTML обязаны быть конформным XML. Во-вторых, W3C не рекомендует отдавать XHTML 1.1 как text/html, но разрешает делать это с XHTML 1.0. В-третьих, у XHTML 1.1 просто нет версий Transitional и Strict, у него одна версия; метафорически её можно называть Strict, да.
Во-первых, все версии XHTML обязаны быть конформным XML. Во-вторых, W3C не рекомендует отдавать XHTML 1.1 как text/html, но разрешает делать это с XHTML 1.0. В-третьих, у XHTML 1.1 просто нет версий Transitional и Strict, у него одна версия; метафорически её можно называть Strict, да.
> Вернули немного не валидный ХМЛ
По секрету: невалидный XML в ситуации с application/xhtml+xml — это уже просто куча текста. Так что либо валидный, либо до свидания.
По секрету: невалидный XML в ситуации с application/xhtml+xml — это уже просто куча текста. Так что либо валидный, либо до свидания.
По секрету вам скажу, Опера большую часть документа парсит и даже качает всякие там скрипты да картинки. А потом уже на скрипте обламывается. Я думаю из этого не сложно сделать вывод что Опера понимает «просто кучу текста» (ну или часть ее).
Ктомуже я еще раз подчеркну. Эти странички для людей, а не для браузеров. Я хочу увидить страничку, а не провалидировать ее.
Ктомуже я еще раз подчеркну. Эти странички для людей, а не для браузеров. Я хочу увидить страничку, а не провалидировать ее.
Ага, т.е. в ситуации, когда страница, например, написана в UTF-8, а отправлена с заголовоком win-1251 и отобразилась кракозябрами — тоже браузер виноват? Судя по вашим рассуждениям, именно так.
Естественно, собсно браузеры эту проблему решают. Даж ваша Опера. Иногда можно заметить что страничка показывается кракозяблами, а уже потом нормально. Сайтов с такой ошибкой все меньше и меньше (до недавна примером такой страницы была https://ibank.aval.ua/index.html, но щас судя по всему пофиксили).
Я откровенно говоря не понимаю что вас так возбуждает… Я просто хочу смотреть странички. Если у яблока надпорченный бок, ненадо выкидывать все яблоко, я скушаю то что осталось. Если в машине сломалась автомагнитола, то не надо меня катапультировать, я вполне поезжу без автомагнитолы!
Страничку можна распарсить, и Опера это делает. Она не может распарсить только кусочек з javascript-ом.
П.С. Я уверен что Опера хендлит десятки ошибочных ситуаций. И я уверен что эту проблему Опера тоже пофиксит.
Я откровенно говоря не понимаю что вас так возбуждает… Я просто хочу смотреть странички. Если у яблока надпорченный бок, ненадо выкидывать все яблоко, я скушаю то что осталось. Если в машине сломалась автомагнитола, то не надо меня катапультировать, я вполне поезжу без автомагнитолы!
Страничку можна распарсить, и Опера это делает. Она не может распарсить только кусочек з javascript-ом.
П.С. Я уверен что Опера хендлит десятки ошибочных ситуаций. И я уверен что эту проблему Опера тоже пофиксит.
Я вообще не понимаю что заставляет россиян пользоваться оперой? Хороший браузер конечно, но и все остальные хорошие, особенно радует хром.
Sign up to leave a comment.
Перестаньте вынюхивать, что у меня за браузер