FlashCheck 1.2
Скрипт предназначен для проверки версии Flash, поддерживаемой браузером и вставки вместо Flash-ролика картинки, если версия не поддерживается браузером. Кроме того, версия с переключателем позволяет  отключать/включать Flash на странице.
Скрипт в действии
Версия с переключателем в действии
История создания
Changelog, поддерживаемые браузеры, глюки
Листинги в отдельном текстовом файле (при копировании кода в Netscape 4 с открытой html-страницы имеются проблемы с абзацами и пробелами.)
Как прикрутить:
В каждом месте страницы, где необходимо вывести флеш, вставляем такой код:
<script>insFl(5,'fl.swf','img.gif','http://',600,400)</script><noscript><a
href="http://"><img src=img.gif
border=0></a></noscript>
Значения, выделенные жирным шрифтом оранжевого цвета, наобходимо заменить:
| 5 | точная версия flash-ролика (обязательно без кавычек!); | 
| 'fl.swf' | ссылка на flash-файл; | 
| 'img.gif' | ссылка на альтернативную картику; | 
| 'http://' | ссылка, которая выведется для картинки; | 
| 600 | ширина картинки/ролика в пикселах; | 
| 400 | высота картинки/ролика в пикселах. | 
В <head> документа вставляется такой код:
<script language="JavaScript1.2">window.onerror=function(){return true}</script>
<script>
var ie=0
var f=0
var fz=0
var n=navigator
</script><script language="JScript">
if (n.platform=='Win32' && !window.opera){ie=1
for (var i=3;i<10;i++){if (eval('new ActiveXObject("ShockwaveFlash.ShockwaveFlash.'+i+'")')){f=i}}}
</script><script>
if ((ie==0)&&(n.plugins))
{for (var i=0;i<n.plugins.length;i++){if (n.plugins[i].name.indexOf('Flash')> -1)
{fz=parseInt(n.plugins[i].description.charAt(16))
if (fz>f) f=fz; }}}
function insFl(v,fl,gif,lnk,w,h)
{var d=' width='+w+' height='+h
if (f>=v) {
document.write('<object
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+d+'><param name=movie value='+fl+'><embed
src='+fl+' quality=high'+d+'></embed></object>')}
else {document.write('<a
href='+lnk+'><img src='+gif+d+' border=0></a>')}}
</script>
Для варианта скрипта с переключателем в <head> вместо вышеприведённого кода
вставляется такой код:
<script language="JavaScript1.2">window.onerror=function(){return true}</script>
<script>
var fl=1
var ie=0
var f=0
var fz=0
var n=navigator
var d=document
var t=new Date()
t.setTime(t.getTime()+11e10)
var e='; expires='+t.toGMTString()+'; path=/'
if (d.cookie.indexOf('fl=')<0){d.cookie='fl='+fl+e}
var dc=d.cookie
fl=parseInt(dc.charAt(dc.lastIndexOf('fl=')+3))
function fla(s)
{
d.cookie='fl='+s+e
location.reload()
}
</script><script language="JScript">
if (n.platform=='Win32' && !window.opera){ie=1
for (var i=3;i<10;i++){if (eval('new ActiveXObject("ShockwaveFlash.ShockwaveFlash.'+i+'")')){f=i}}}
</script><script>
if ((ie==0)&&(n.plugins))
{for (var i=0;i<n.plugins.length;i++){if
(n.plugins[i].name.indexOf('Flash')>
-1)
{fz=parseInt(n.plugins[i].description.charAt(16))
if (fz>f) f=fz; }}}
function insFl(v,fls,gif,lnk,w,h)
{var d=' width='+w+' height='+h
if ((fl!=0)&&(f>=v))
{
document.write('<object
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+d+'><param
name=movie value='+fls+'><embed
src='+fl+' quality=high'+d+'></embed></object>')}
else {document.write('<a
href='+lnk+'><img src='+gif+d+' border=0></a>')}}
</script>
Кроме того, в варианте с переключателем необходимо включить в документ код самого
переключателя:
<script>d.write('<b>переключить
на:</b> <a href="javascript:fla(1)">flash</a> | <a
href="javascript:fla(0)">html</a>')</script>
© 2002-2003 by Svarga (по найденным глюкам или необходимым изменениям пишите, бум разбираться :)
    ######################################################
                       CHANGELOG ;)
    ######################################################
v.1.3b
[-] Устранена проблема с MSIE 5+: при установленном Microsoft Script
Debugger’е выдавалось предупреждение об ошибке.
[~] Упрощена проверка win32 MSIE
[~] Исправлена неточность в версии с переключателем, вызывавшая глюк в
MSIE 4.0
v.1.2
[~] Исправления по определению версии Flash-плагина в MSIE (устранены
проблемы с 7-й версией).
[~] Исправлена работа с cookie.
v.1.1
[+] Для браузеров, поддерживающих Netscape-плагины (Opera, Mozilla,
Netscape...), добавлена проверка наиболее новой версии плагина-- теперь
при нескольких установленных плагинах скрипт правильно определяет
поддерживаемую версию флеша-- ранее учитывалась версия лишь одного из
плагинов, причем не обязательно самого нового (заметил эту ошибку
благодаря Opera 7.10b3, подцепившей по нескольким моим Нетскейпам и
Операм плагины трёх версий-- 3, 5, 6, причем скрипт почему-то определял
поддерживаемую версию флеша по плагину третьей версии).
[+] Добавлен вариант скрипта с cookie-переключателем для
отключения/включения на странице флеша.
[~] Незначительные исправления.
v.1.01
[~] Подправил очепятку-- вместо if ((ie==0)&&(document.plugins))
нужно писАть if ((ie==0)&&(n.plugins)), т.к. в первозданном
виде в 3.х браузерах выводило картинку даже если они
поддерживают флеш (заметил и исправил на QNX в тамошнем
Voyager 3).
v. 1.0
First stable version ;D)
    ######################################################
            Результаты тестирования скрипта проверки
               поддерживаемой браузером версии флеша
    ######################################################
РАБОТАЕТ КАК НАДО В:
-- MSIE 3.x, 5.0, 5.5, 6.0 win32
-- Netscape 3-7.x win32
-- Mozilla 1.x win32/Linux
-- Opera 2.x-7.x win32, Opera 7.0 Linux
-- 1x Net Browser 1.0 win32
-- Lynx 2.8.x ;) пишет красивое слово "image" там, где надо на win32
   и название картинки под Linux'ом ;)
-- Konqueror 3 Linux
-- Galeon 1.2.5 Linux
-- AMSD Ariadna 1.3 win32
-- QNX Voyager 2.03b
-- I-View 2.38 win32
-- Arachne 1.7 DOS :)
-- Amaya 7.2 win32 :)
ГЛЮЧИТ В (все нижеперечисленные браузеры под win32):
1. MSIE 4.0 — работает, однако из-за глюков браузера через раз :)
2. Большинстве старых не-JavaScript браузеров:
   - MSIE 1.x-2.x
   - Netscape 1.x
   - Mosaic (all)
   - Chello 1.0 (1994 года выпуска)
   и мн. др.
  (отображает содержимое тэгов "<script>"-- можно добавить тэги
   комментария:
  <script>
   <!--
   а тут скрипты
   //-->
   </script>
   но при этом, если сам ролик/картинка вставляется в ячейку
   таблицы равную ему/ей по размеру-- в Нетскейпах и Операх
   будет ломаться таблица)
3. Netscape 2
   такое описать невозможно-- бесподобно ;)
4. Hotjava 3.0
   вообще ничего не выводится
на главную