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

Сохранение гипертекстовых документов различными браузерами

Время на прочтение2 мин
Количество просмотров2.1K

Тема «кривости» браузеров часто поднимается, в этом топике я предлагаю рассмотреть браузер не с точки зрения визуального агента пользователя, а как «черный» ящик, на вход которого подаётся один документ, а на выходе (после сохранения) получается другой.

Входные данные


Чтобы не было как в поговорке «Чем поливали, то и выросло» на вход будем подавать валидный XHTML 1.0 Strict документ, таблицу стилей, и одно изображение в формате PNG.

sample.html


sample.css


image.png


Архив с этими файлами можно скачать тут.

Методика эксперимента


1. Открываем файл с жесткого диска в браузере
2. Сохраняем
3. Смотрим что получилось
Все браузеры были последних релизных версий на момент эксперимента (пару недель назад).

Результаты


Opera



Файл остался валидным XHTML 1.0 Strict документом. В конце дописана строчка, откуда сохранен документ.
CSS и PNG аккуратно сложены в отдельной папке.
Придраться не к чему.

Firefox



Файл перестал быть валидным (5 ошибок на validator.w3.org) – не закрыл теги meta и link.
CSS сохранил, про PNG забыл — фон потеряли.

Chrome



Файл перестал быть валидным (18 ошибок на validator.w3.org) – оставил тип документа, но привел все теги к верхнему регистру. Meta и link не закрыты, т.е. можно посчитать, что Chrome попытался сохранить документ в старом добром HTML 4.01. После DOCTYPE добавил комментарий, откуда сохранена страничка.
CSS сохранил, про PNG забыл.

Internet Explorer



Файл перестал быть валидным (4 ошибки на validator.w3.org). Изменил DOCTYPE на HTML 4.0. Привел все теги к верхнему регистру, meta и link не закрыты. Добавил «от себя» мета тег. После DOCTYPE добавил комментарий, откуда сохранена страничка.
CSS сохранил, про PNG забыл.

Моя среда разработки :)


Валидный код




Невалидный код




Заключение


На «отлично» с задачей справилась только Opera, остальные занялись всякого рода «самодеятельностью», что привело к тому, что сохраненный документ не будет отображаться аналогично исходному.
Chrome, FF, IE – получают «двойку» за то, что не сохранили картинку из CSS.
Ещё, если я не ошибаюсь, из всех вышеперечисленных браузеров только Opera имеет в контекстном меню пункт «Соблюдены ли веб-стандарты».

Надеюсь, это топик привлечет внимание разработчиков браузеров и они сделают так, что их творения будут сохранять красивые, валидные документы.
Теги:
Хабы:
Всего голосов 140: ↑123 и ↓17+106
Комментарии133

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн