Svarga
Moderator | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скрипт для проверки версии флэша и вставки вместо него картинки, если версия не подходит Тут возник вопрос, как выяснить, поддерживает ли браузер посетителя сайта флэш, и если не поддерживает, то подсунуть ему просто картинку вместо флэша, чтобы не пинать лишний раз человека просьбами загрузить плагин для флэша. Поковырямши три скрипта (ссылки прилагаются) я выяснил, что они весьма неудобны и подходят исключительно для случаев, когда есть две версии сайта: флэшевая и простая. Оно-то и хорошо, но к чему создавать копию сайта, если на странице есть только пара небольших флэшек? Короче, написал скрипт, который определяет проверку версии флэша, а затем, когда на странице вставляется флэшка, выясняет, сможет ли браузер её показать; если нет, то выводит вместо неё просто картинку со ссылкой. И так для каждой флэшки на странице. Вот сам скрипт (он же в действии): Это засовуем в head: Код: <script> var ie=0 var f=0 var n=navigator </script><script language="JScript"> if ((n.platform=='Win32')&&(n.userAgent.indexOf('Opera')==(-1))){ie=1 for (var i=3;i<7;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)) {f=parseInt(n.plugins[i].description.charAt(16))}}} 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> | Везде, где надо вставлять флэш/картинку, вставляем такое: Код: <script>insFl(5,'fl.swf','img.gif','http://',600,400)</script><noscript><a href='http://'><img src=img.gif border=0></a></noscript> | не забывая при этом менять значения переменных в insFl(5,'fl.swf','img.gif','http://',600,400) [NB!-- все значения через запятую]: 5 версия флэша (обязательно без кавычек!!!) 'fl.swf' cсылка на swf-файл (обязательно в кавычках) 'img.gif' ссылка на рисунок-замену для флэша 'http://' ссылка, на которую пойдут при нажатии на картинку 600 ширина картинки/флэшки 400 высота картинки/флэшки Проверяет поддержку флэша от версии 3 и выше (если плагин версии 2 или 1-- выводит картинку-- сделал так от глюков эксплорера). Проверил практически во всём под виндой -- работает. Список браузеров, в которых работает. Проблемка: в MSIE на макинтоше будет независимо от подержки флэша выводить картинку. Может и об ошибках заругается. Кстати, если у кого есть возможность проверить сие в разных браузерах на маке и под Линухом/Юниксами-- с удовольствием узнаю результаты и подправлю глюки. (На данный момент интересуют iCab‘ы, MSIE for Mac vv. 3-5.x, Konquerer, Mozilla и Oper'ы под Linux, ну и всё остальное тоже ) Здесь тестовая страница с прикрученным скриптом. Вместо корявого VBScript использовал JScript. Для чего народ выводил VBScript через javascript'овское document.write и кто из авторов у кого такой чудный способ передрал для меня навеки останется загадкой Особенно впечатляет такое чудо в макромедиевском творении: '<scr'+'ipt... Под чем такое писАлось не знаю Это скрипты, которые мне не понравились, благодаря чему я и написал свой http://www.flasher.ru/learning/check_ver_flash.html http://www.flasher.ru/learning/check_ver_flash2.html DreamweaverMX (behaviors > + > check plugin > flash
| Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 01:49 09-03-2003 | Исправлено: Svarga, 06:55 27-03-2003 |
|