Как реализовать (графика/флэш)?

R7
На сайте с 04.04.2006
Offline
84
588

В шапке сайта использутеся флэш на всю ширину экрана. Если юзер блокирует флэш в настройках браузера, на месте флэша в шапке "дыра".

Есть ли возможность реализовать встраивание на место флэша статичного изображения для тех случаев, когда флэш заблокирован у пользователя, а изображения не заблокированы? То есть вместо блокированного флэша юзер видит не "дыру", а картинку, предназначенную именно для этих целей.

Агентство переводов LingvoStar (Киев) www.lingvostar.kiev.ua (www.lingvostar.kiev.ua)
ultrabyte
На сайте с 28.01.2006
Offline
80
#1
Romero79:
В шапке сайта использутеся флэш на всю ширину экрана. Если юзер блокирует флэш в настройках браузера, на месте флэша в шапке "дыра".

Есть ли возможность реализовать встраивание на место флэша статичного изображения для тех случаев, когда флэш заблокирован у пользователя, а изображения не заблокированы? То есть вместо блокированного флэша юзер видит не "дыру", а картинку, предназначенную именно для этих целей.

картинку бекграундом таблицы, или что там у вас, вставьте, и все дела.

За клиента на продвижение, откат 20% (http://qjp.ru/index.php/2009-03-04-06-46-45)
neznaika
На сайте с 28.06.2006
Offline
356
#2
ultrabyte:
бекграундом таблицы

И пофиг что юзер 20-50кб. даже при включенном флеше грузит...? По сабжу меня тож интересует.

Дорого покупаю настоящие сайты. Не инвестирую деньги и не беру кредиты.
R7
На сайте с 04.04.2006
Offline
84
#3
ultrabyte:
картинку бекграундом таблицы...

Мне эта мысль тоже сначала пришла в голову. Но, действительно, юзер будет тянуть еще и картинку с флэшем... Может есть какой-нибудь хитрый скрипт, который подгружает картинку только в том случае, если флэш у юзера отрублен?

dlyanachalas
На сайте с 15.09.2006
Offline
693
#4

<script language="JavaScript" type="text/javascript">

<!--
// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = 8;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Revision of Flash required
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.0;
// -----------------------------------------------------------------------------
// -->
</script>
<script language="VBScript" type="text/vbscript">
<!-- // Visual basic helper required to detect Flash Player ActiveX control version information
Function VBGetSwfVer(i)
on error resume next
Dim swControl, swVersion
swVersion = 0

set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i))
if (IsObject(swControl)) then
swVersion = swControl.GetVariable("$version")
end if
VBGetSwfVer = swVersion
End Function
// -->
</script>
<script language="JavaScript1.1" type="text/javascript">
<!-- // Detect Client Browser type
var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;
// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i){
// NS/Opera version >= 3 check for Flash plugin in plugin array
if (navigator.plugins != null && navigator.plugins.length > 0) {
if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
descArray = flashDescription.split(" ");
tempArrayMajor = descArray[2].split(".");
versionMajor = tempArrayMajor[0];
versionMinor = tempArrayMajor[1];
if ( descArray[3] != "" ) {
tempArrayMinor = descArray[3].split("r");
} else {
tempArrayMinor = descArray[4].split("r");
}
versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
} else {
flashVer = -1;
}
}
// MSN/WebTV 2.6 supports Flash 4
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
// WebTV 2.5 supports Flash 3
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
// older WebTV supports Flash 2
else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
// Can't detect in all other cases
else {

flashVer = -1;
}
return flashVer;
}
// If called with no parameters this function returns a floating point value
// which should be the version of the Flash Player or 0.0
// ex: Flash Player 7r14 returns 7.14
// If called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
reqVer = parseFloat(reqMajorVer + "." + reqRevision);
// loop backwards through the versions until we find the newest version
for (i=25;i>0;i--) {
if (isIE && isWin && !isOpera) {
versionStr = VBGetSwfVer(i);
} else {
versionStr = JSGetSwfVer(i);
}
if (versionStr == -1 ) {
return false;
} else if (versionStr != 0) {
if(isIE && isWin && !isOpera) {
tempArray = versionStr.split(" ");
tempString = tempArray[1];
versionArray = tempString .split(",");
} else {
versionArray = versionStr.split(".");
}
versionMajor = versionArray[0];
versionMinor = versionArray[1];
versionRevision = versionArray[2];

versionString = versionMajor + "." + versionRevision; // 7.0r24 == 7.24
versionNum = parseFloat(versionString);
// is the major.revision >= requested major.revision AND the minor version >= requested minor
if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
return true;
} else {
return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );
}
}
}
return (reqVer ? false : 0.0);
}
// -->
</script>

Далее, в тексте страницы, там, где должен быть flash:

<script language="JavaScript" type="text/javascript">

<!--
var hasRightVersion = DetectFlashVer(requiredMajorVersion,
requiredMinorVersion, requiredRevision);
if(!hasRightVersion)
{
document.write("<img src='picture.jpg'>");
}
else
{
document.write("<object classid="clsid:d27cdb6e-a....></object>");
}
// -->
</script><noscript><img src='picture.jpg'></noscript>
R7
На сайте с 04.04.2006
Offline
84
#5

dlyanachalas, СУПЕР!!! Именно это мне и нужно было.. Спасибо..

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий