В этой статье — краткий рассказ о том, как Flash в вебе устарел на фоне HTML5, как все авторитетные стороны предлагают перестать его использовать, и будет рабочий сценарий, как полноценно жить в сети без Flash-плагина
Сценарий будет состоять из трёх рецептов:
- Рецепт для сайтов, замечающих Flash через feature detection.
- Рецепт для сайтов, которые обращают внимание на
User agent
. - Рецепт для сайтов, которые тупые и всегда дают Flash.
- + Запасной вариант на случай, если Flash понадобится.
Советы будут снабжаться примерами для Safari и Firefox.
Так почему же не Flash?
- Потому что на смену ему пришли новые технологии, которые решают те же задачи лучше, которые используются в новых проектах и стартапах.
- Потому что на большинстве из тех сайтов, где вы видите Flash, эти технологии уже лежат в запасниках, и вам давно подготовлен Flash-free experience.
- Потому что SWF имеет множество проблем. Основные проблемы решить невозможно — они заложены в его архитектуру. Хороший список проблем есть в английской Википедии.
- Потому что все авторитетные стороны, связанные с Flash, говорят о том, что Flash пора выбросить1.
Об этом поподробнее:
- Google говорит: «Откажитесь от плагинов». «Операции, которые раньше требовали использования плагинов, теперь можно выполнять с помощью веб-технологий»
- Mozilla борется с Flash; вспоминает, что Flash — основная причина падений Firefox и говорит: «Плагины — это унаследованная технология, не доступная на большинстве мобильных устройств. Mozilla советует веб-разработчикам всеми способами избегать плагинов. Если у вас есть функциональность, которую не удаётся создать без плагина, обратитесь к нам»
- Apple в 2010 опубликовала прекрасное письмо «Thoughts on Flash», а в английской Вики есть отличный разбор мнений об этом письме и ситуации в целом.
- Electronic Frontier Foundation часто пишет о том, что Flash — это плохо
- Adobe в 2011 свернула поддержку Flash Player на всех ОС и платформах, кроме Wintel и Mac OS X. В своём письме они сказали: «…HTML5 — лучшее решение для создания материалов для мобильных платформ.»
- Даже рекламщики, а именно — IAB, их главный профсоюз — сказали в 2010: «Рекламодателям просто пора делать баннеры на HTML5, а не на Flash. Многие бренды уже сделали так для iPad, и их результаты радуют»
Если вы решите использовать альтернативный Flash-player (список-музей которых есть в той же Википедии), то вы ничего хорошего не получите. Все плееры полумертвы, поддерживают только часть возможностей Flash, тормозят, сбоят, и — в целом — малопригодны. Была надежда на Mozilla Shumway, но и она тихонько тает.
Главное же — альтернативный Flash player не решит основную проблему: в интернетах вам регулярно подсовывают SWF-файлы вместо полезного содержимого.
А решается проблема просто:
Чтобы не видеть Flash, достаточно не иметь Flash.
Удивительно, но многие сайты показывают вам Flash-содержимое … потому что у вас есть Flash!
Однажды вы задумались о жизни без него и блокировали его Flashblock-ом, а он продолжал быть в системе, и сайты всё так же давали вам всякие embed
-ы и object
-ы, которые Flashblock и блокировал. Это похоже на анекдот про обезьяну, которая таксиста обманула: мы попросили Flash-содержимое, а, когда оно пришло — заблокировали.
Конечно, это полная фигня. Отключите Flash-декодер. Ещё лучше — удалите его полностью. Тут-то окажется, что часто он не был нужен.
Иногда, впрочем, сайтам надо помочь
А как быть с Youtube-видео, вставленным много лет назад на сторонние сайты через embed
или object
? Воспользуйтесь расширениями и Userscript-ами.
Например, ClickToPlugin для Safari знает в лицо пол-сотни object-ов и умеет заменять их на HTML5-эквивалент2.
Чтобы не видеть Flash, станьте тем, кому чужд Flash.
Кто никогда не касался Flash, как гордый стриж никогда не касался земли? Конечно, iPhone и iPad.
Смените себе User agent
на Safari @ iPad, и многие, очень многие сайты чудесно заработают.
Выберите в меню разработчика3 Safari «Маскироваться под Internet Explorer» Разработка → Пользовательский агент → Safari iOS — iPad. Настройка применится для выбранной вкладки, она перезагрузится, и сервер выдаст вам версию для планшетов, функционирующую без Flash. Проделывать это, к сожалению, придётся каждый раз при посещении сайта, потому что в Safari нет автоматических способов сменить User agent
.
Если у вас Firefox, вам повезло больше. Расширение UAControl позволяет выбирать User agent для каждого сайта. Откройте негодный сайт, ткните по кнопке UAControl → UAControl options for this site… → Action: Custom и вставьте в поле Custom user agent строчку от Safari iOS 8.1 на iPad:
Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B410 Safari/600.1.4
Теперь запросы для этого сайта будут всегда отправляться от имени iPad Safari. Viva la Firefox!
Некоторые герои меняют User agent
глобально и насовсем — но я категорически это не советую. Любоваться планшетной навигацией на каждом сайте — выше моих сил. Одного Хабра хватило, спасибо <sarcasm />.
Если они всё равно Flash — они отстали от жизни.
Например: ваш любимый сайт с гитарным тюнером работает через Flash? Отправьте его на пенсию, и найдите тюнер на HTML5 и WebRTC.
А лучше — достаньте ваш смартфон или планшет, загляните в переполненный магазин приложений, и выберите подходящее на свой вкус.
Но в те тёмные дни, когда вам нужен Flash…
Но что делать, если вы встретили сайт, которому действительно нужен Flash? Таким сайтом, например, оказался Livemocha, использующий Flash для аудио-занятий иностранным языком. Проект чрезвычайно интересный, Flash-free альтернативы нет, и обходиться без него не хочется.
Мы пойдём на небольшую хитрость: мы возьмём коммерческий Google Chrome. От своей opensource основы Chromium он отличается двумя главными вещами:
- Гугловским
анальным зондомотслеживающим модулем (а заодно — интеграцией с Гуглосервисами) - Не общесистемным, авто-обновляемым встроенным Adobe Flash.
Да! Google тоже понимают нашу боль по поводу Flash, и борются с ней своеобразно — упаковывают спец.версию плагина прямо в свой браузер, решая этим часть проблем с технологией.
Итак, ставим вторым браузером Google Chrome — или любой другой коммерческий браузер на его основе, например, новую Оперу или Яндексобраузер. Я выбрал последний — Гугловский зонд модуль интеграции там выпилен и заменён на Яндексовский, а Яндекс-сервисами я как раз не пользуюсь. К тому же, их новый (бета) интерфейс очень мил
Теперь, когда попадаем на Flash-only сайт, с которого не хочется уходить на что-то более достойное, тыкаем в Safari: «Open in IE» Разработка → Открыть страницу с помощью → Yandex, и радуемся.
Для Firefox есть удобные расширения вроде Open In Chrome
Выводы
- Flash устарел. Первые серьёзные высказывания о том, что он больше не нужен, появились 5 лет назад. От него отреклись все главные игроки, в том числе авторы технологии, браузеров, и рекламщики.
- Большинство сайтов имеют полноценную Flash-free версию, но не показывают её браузерам на ПК по различным причинам
- Если эти причины устранить, можно отлично пользоваться вебом без Flash. Автор этой статьи живёт так уже год, и встретил лишь два сайта, ради которых пришлось запускать Flash-enabled браузер4.
- Пользователи Google Chrome в своей борьбе против Flash обречены — Google сделала этот плагин неотъемлемой частью браузера5. Этот плагин, как говорит solver, можно только отключить
- Возможно, один из ваших любимых сайтов использует Flash и не умеет работать без него. В первую очередь — это Flash-игры и более старые веб-приложения. Если окажется так — значит, вам действительно нужен Flash.
Примечания
- Не выбросить, а ограничить применение: использовать как платформу для создания анимации и Air-приложений. Но в нашем случае это не принципиально.↩
- Впрочем, он создавал больше проблем, чем решал, и от него пришлось отказаться. ↩
- Инструменты разработчика включаются в меню Настройки → Дополнительно ↩
- И один из этих сайтов, кстати, к написанию статьи уже исправился.↩
- И сделала это на фоне того, как они как бы борются с Flash. ↩
И, немного статистики:
Автор: eps