Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Какие ещё графические форматы поддерживает ваш браузер?

Переложил на хостинг «Гитхаба» свой проект семилетней давности — «Какие графические форматы поддерживает ваш браузер?». Я его иногда обновляю и мне было бы проще это делать через репозиторий.

Из всего, что я там проверяю, сразу не сработала только проверка на AVIF — это новейший формат, у меня на компьютере его поддерживает пока только «Файерфокс», ему важно указание типа содержимого, а «Гитхаб» передаёт неправильное значение.

Браузеры (сверху вниз): «Сафари» 13, «Файерфокс» 78 и «Опера» 69

Я подумал, что наверняка есть какой-то способ указать правильный тип в файле конфигурации сайта, но нет, так это не работает, такой настройки в нём нет. В принципе, известно откуда «Гитхаб» берёт свою базу типов содержимого — из проекта mime-db. Но этот путь тоже не сработал — я добавил туда тип для AVIF больше недели назад, но ничего не изменилось. Видимо синхронизация изменений происходит нечасто.

Пришлось идти другим путём — вместо того, чтобы загружать файл картинки, внедрил его внутрь при помощи протокола data:, это позволило обойти проблему. Можете протестировать на своём браузере.

Ссылка на проект: https://bolknote.github.io/detect-browser-graphics-formats/
Ссылка не репозиторий проекта: https://github.com/bolknote/detect-browser-graphics-formats

4 комментария
Дмитрий Радищев 2020

Не очень понятно, что именно он показывает. Например, у меня в хроме скрипт показывает pdf красненьким, но pdf’ы из интернета открываются внутри хрома, без сохранения на диск.

(Заодно был удивлён, что хром не умеет в tiff. Реально не умеет — в тэге <img> показывает «битую иконку», в строке url — выдаёт окно save as).

Дмитрий Радищев 2020

А нет, торможу — это же только про тэг <img>. В <img> хром действительно pdf не умеет, проверил.

Евгений Степанищев 2020

Вообще странно, что «Сафари» умеет :) Это, мягко говоря, не совсем картинка.

Дмитрий Радищев 2020

А чем pdf хуже того же svg — он ведь тоже та ещё картинка? Всю реализацию в браузере в принципе можно свести к s/<img>/<iframe> — в ифрейм pdf засовывается, визуально одно от другого не отличается. Придётся правда сделать чтобы свойства-методы для img работали, но это уже технические подробности.
Непонятно правда зачем нужно было это реализовывать — ведь если почти никто из браузеров это не умеет, то никто из вебмастеров не будет этим пользоваться, но это уже другой вопрос :-)

Евгений Степанищев 2020

Я так и знал, что ты так скажешь :)) Да, мало чем, в SVG даже язык программирования внедряется, в принципе.

Oleg Gorbunov 2020

Сафари не просто умеет пдф в картинках, а даже при разработке дополнений требует иконки для кнопок в панели инструментов в пдф с прозрачностью.

Евгений Степанищев 2020

Странно почему именно ПДФ, откуда такая любовь?