Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Рамка вокруг flash элемента


Автор: Maycal 6.4.2008, 21:17
Люди, тут такая проблема. Есть flash который служит баннером, то-есть на него нажимаешь и он отправляет на нужную страницу.
Но на этот баннер нужно нажать 2 раза, т.к сначало нужно "нажать и активировать данный эллемент управления"
как сделать без активации?
Код

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="310" height="300" id="Untitled-1" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="banner4.php" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="Untitled-1.swf" quality="high" bgcolor="#ffffff" width="310" height="300" name="Untitled-1" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

Автор: SelenIT 6.4.2008, 21:22
Переписывать скриптом. Лучше всего использовать готовый скрипт SWFObject.

Добавлено через 37 секунд
Или заставить пользователей перейти с IE на современные браузеры, где этой проблемы нет smile

Автор: _Dargin_ 7.4.2008, 06:12
Чтобы небыло активации нужно код самого флеша добавлять на сайт через функцию javascript "document.write", НО не в самом шаблоне, а из отдельного файла js. Объясняю, в месте, где должен быть флешь пишешь:
Код

<script type="text/javascript" language="JavaScript" src="флеша добавлялка.js"></script>

а в файле флеша добавлялка.js пишешь document.write и в нем тот код флеша который тебе надо.

Я делаю обычно так:
Код

<script src="flash_add.js" language="JavaScript"></script>
<div>   
<script language="JavaScript">
var MM_contentVersion = 5;
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if ( plugin ) {
 var words = navigator.plugins["Shockwave Flash"].description.split(" ");
 for (var i = 0; i < words.length; ++i){
  if (isNaN(parseInt(words[i])))
  continue;
  var MM_PluginVersion = words[i]; 
 }
 var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
}
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 
   && (navigator.appVersion.indexOf("Win") != -1)) {
    document.write('<script language="VBScript"\> \n');
    document.write('on error resume next \n');
    document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
    document.write('</script\> \n');
}
if ( MM_FlashCanPlay ) {
 flash_code='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" '+
            'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" '+
            'border="0" width="100%" height="100%">'+
            '<param name="movie" value="флешь.swf" />'+
            '<param name="quality" value="high" />'+
            '<param name="bgcolor" value="#FFFFFF" />'+
            '<embed src="флешь.swf" quality="high" bgcolor="#FFFFFF" width="100%" height="100%" swLiveConnect="false" border="0" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">'+
            '</embed>'+
            '</object>';
try { externalFlashWriter(flash_code); }
catch(err){ document.write(flash_code);} 
} else{
    document.write('<img src="картинка для замены, если флешь отключен" width="100%" height="100%" border="0" alt="">');
}
</script>
</div>


где файл flash_add.js
Код

function externalFlashWriter (flashBannerSource){
    document.write(flashBannerSource);
}


Немножко подроюней расписал, а вообще тему надо бы куданить вынести ...  smile 

Автор: Maycal 9.4.2008, 12:51
Так, я пишу в файле index.php
Код

<script type="text/javascript" language="JavaScript" src="bannera/banner4/banner4.js"></script>

а  в файле banner4.js пишу
Код

function externalFlashWriter (flashBannerSource){
    document.write(flashBannerSource);
}
<object style="margin-top: -345px; margin-left: 20px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="310" height="300" id="Untitled-1" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="bannera/Banner_300x300/Untitled-1.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="Untitled-1.swf" quality="high" bgcolor="#ffffff" width="310" height="300" name="Untitled-1" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object> 

как написать правильнее?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)