По статистике, около 90% пользователей в наши дни пользуются Internet Explorer (5-й или 6-й версией). В этих браузерах Flash, как правило, уже установлен (если же нет, то, при наличии Интернет-соединения, установить его - дело пары минут). Тем не менее, если вам нужно на 100% быть уверенным в том, что у пользователя всё будет работать "правильно", даже если у него не установлена примочка Flash, нужно определять наличие примочки, и, в зависимости от этого, показывать Flash страничку, или контент, не сожержащий Flash.
Здесь приведён самый простой способ проверки наличия Flash. Для этого способа потребуется лишь одна строчка в HTML и очень простой Flash-мультик.
Вот строчка, которую нужно будет вставить в HTML файл в раздел <head>:
<META HTTP-EQUIV="Refresh" CONTENT="seconds_until_refresh; URL=non_flash_url">
Эта строчка обращается по адресу non_flash_url через seconds_until_refresh после загрузки строчки. Например строчка
<META HTTP-EQUIV="Refresh" CONTENT="5; URL=non_flash.html">
обращается к файлу non_flash.html через 5 секунд.
Создаём Flash мультик с минимальными размерами (во Flash 5 было ограничение - 20x20, во Flash MX можно делать мультики хоть 1x1) с единственным кадром, содержащим единственное действие:
GetURL("flash_page.html"
;
flash_page.html - страничка, содержащая Flash-контент.
Можете скачать пример такого файла: detect.fla (12 kb).
Из этого файла создаём .swf файл, который помещаем в наш HTML файл (в тот где была строчка <META ...>. Что в итоге происходит? Открывается файл, содержащий строчку <META ...> и маленький Flash мультик. Если в браузере установлена Flash-примочка соответствующей версии, то срабатывает действие в .swf файле и браузер переходит на страничку flash_page.html. Если же Flash примочка не обнаружена, то через 5 секунд браузер перейдёт по адресу, указаному в <META ...> (в нашем случае - non_flash.html). Недостаток этого метода состоит только в незначительной задержке в несколько секунд, кот. нужны для загрузки странички. Размер .swf файла получается очень маленьким (порядка 50-100 байт), так что это не является помехой.