2013-03-30 2 views
1

Я создаю сайт с моей школьной работой (dreamfoxgames.com).Загрузите вспышку после нажатия кнопки

Если вы нажмете на кнопку «play», то всплывающее окно/Modal придет с игрой в flash или плагин единства. Моя проблема заключается в том, что когда посетитель загружает страницу, они автоматически загружают файл флэш-памяти. Это означает, что музыка начнется, и страница будет медленной с загрузкой (все эти игры).

Есть ли способ загрузить флеш-плеер только после того, как кто-то нажал кнопку воспроизведения?

Большое спасибо!

+0

Да, загрузите нужный HTML (со вспышкой) с вызовом AJAX, когда страница готова – Maresh

ответ

0

Это также можно сделать с помощью встраивания элемента (нет необходимости внешнего API):

<!DOCTYPE html> 
<html> 
<head> 
<title></title> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<script type="text/javascript"> 
    var flashEmbed = null; 
    function startFlash() { 
    if(flashEmbed != null) { 
     document.getElementById("flashContainer").removeChild(flashEmbed); 
    } 
    flashEmbed = document.createElement("embed"); 
    document.getElementById("flashContainer").appendChild(flashEmbed); 
    flashEmbed.src="Flashfile.swf"; 
    flashEmbed.type="application/x-shockwave-flash"; 
    } 
</script> 
</head> 
<body> 
<button onclick="startFlash()">start flash</button> 
<div id="flashContainer"></div> 
</body> 
</html> 
+0

спасибо, единственная проблема в том, что каждый раз, когда кто-то нажимает кнопку, появляется новая встроенная флеш-память. – SaschaDeWaal

+0

Я изменил код, поэтому одновременно добавляется не более одного встроенного. –

0

Вы можете использовать swfobject, чтобы загрузить содержимое swf в div.

Предположим, если у вас есть DIV в вашем HTML, как показано ниже

<!DOCTYPE html> 
<head> 
    <script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script> 
    <script> 
</head> 
<body> 
     <div id="myContent"> 
     swf will be embedded here 
     </div> 
    <button onclick="playSwf()">Click to play swf</button> 
</body> 
</html> 

Для воспроизведения SWF ..

<script type="text/javascript"> 
    function playSwf() 
    { 
     //Syntax 
     //swfobject.embedSWF(swfUrl, id, width, height, version, 
     //     expressInstallSwfurl, flashvars, params, 
    //      attributes, callbackFn) 

     //optional parameters omitted 
     swfobject.embedSWF("test.swf", "myContent", "400", "400","10"); 

    } 
    </script> 
+0

спасибо! но по какой-то причине этот код не работает очень хорошо с загрузкой. – SaschaDeWaal

Смежные вопросы