Просмотр полной версии : Замена Flash-сайта статическим аналогом
Ganzolik
01.02.2013, 01:36
Вечер добрый, столкнулся с проблемой! Каким образом можно реализовать следующий алгоритм: при открытии сайта проверить наличие на устройстве Flash плеера, если его нет то открывать HTML файл со статическими изображениями
SWFObject (http://code.google.com/p/swfobject/wiki/documentation) умеет это из коробки, ищите в документации "alternative content"
var flashver='0';
if(window.ActiveXObject){
var ax;
try{
ax=new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
}catch(e){}
if(ax){
flashver=ax.GetVariable('$version').slice(4);
}
}else{
var pls=navigator.plugins;
if (pls){
for(var pr1 in pls){
if (typeof(pls[pr1])=='object'){
for(var pr2 in pls[pr1]){
if(pr2=='name'&&pls[pr1]['name']=='Shockwave Flash'){
flashver=pls[pr1]['description'].slice(16);
}
}}}
}
}
а дальше в зависимости от значения flashver загружаете что нужно.
Ganzolik
01.02.2013, 14:01
ситуация в следующем: имеется шаблон сайта, как с присутствием Flash меню, так и без него( т.е. 2 отдельных сайта) необходимо чтобы на телефонах и планшетах, на которых нет flash player загружался сайт без flash, а на остальных грузился уже анимированый. Вся проблема заключается в том, что с java sripts и action scripts особо не знаком, вот и прошу обьяснить на пальцах, как это все можно провернуть
Вот здесь (http://habrahabr.ru/post/31615/) все подробно расписано.
Лично я рекомендую "динамический способ".
ситуация в следующем: имеется шаблон сайта, как с присутствием Flash меню, так и без него( т.е. 2 отдельных сайта) необходимо чтобы на телефонах и планшетах, на которых нет flash player загружался сайт без flash, а на остальных грузился уже анимированый. Вся проблема заключается в том, что с java sripts и action scripts особо не знаком, вот и прошу обьяснить на пальцах, как это все можно провернуть
Не обижайтесь, но вопрос из разряда:
я не вижу, не слышу и у меня связаны за спиной руки, поэтому вопрос - а как пишется.....
Ganzolik
01.02.2013, 23:10
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="layout.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.registerObject("header", "8.0.0");
</script>
</head>
<body id="page2">
<div id="main">
<!-- header -->
<div id="header">
<!--Valid flash version 8.0-->
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="980" height="460" id="header">
<param name="movie" value="....swf" />
<param name="menu" value="false" />
<param name="quality" value="high" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="....swf" width="980" height="460">
<param name="menu" value="false" />
<param name="quality" value="high" />
<!--<![endif]-->
<div id="logo"><a href="index.html"><img src="images/....jpg" alt="" /></a><span><a href="#">...</a></span></div>
<div id="menu">
<ul>
<li><a href="index.html">...</a></li>
<li><a href="index-1.html">....</a></li>
<li><a href="index-2.html">...</a></li>
<li><a href="index-3.html">....</a></li>
<li><a href="index-4.html">...</a></li>
<li><a href="index-5.html">...</a></li>
<li><a href="index.html">....</a></li>
</ul>
</div>
<div id="phone"><b><i>...</i> .....</b></div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
ок, разобрался немного, теперь другая проблема нарисовалась, нормально показывает только в IE. Остальные браузеры не показывают ни Flash, ни альтернативный контент
Использую "динамическую публикацию", не могу, к сожалению быстро ваш код разобрать. Она и проще и, на мой взгляд, лучше в силу некоторых причин.
Как сделать ее, в той статье на Хабре этому посвящена вторая половина.
Никогда не было проблем с кроссбраузерностью. Если все правильно опубликовать, то в будет показано окошечко с просьбой обновить плеер. За это отвечает компонент expressInstall.swf, который используется библиотекой SWFObject.
Ganzolik
02.02.2013, 00:41
Всем большое спасибо за помощь! Проблему решил использовав "динамическую публикацию"
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.