1

我正在用我的学校作业(dreamfoxgames.com)建立一个网站。

如果您单击一个名为“播放”的按钮,则会在 Flash 或统一插件中随游戏一起弹出一个弹出窗口/模式。我的问题是当访问者加载页面时,他们会自动加载 Flash 文件。这意味着音乐将开始播放,并且页面加载速度会很慢(所有这些游戏)。

有没有办法只在有人点击播放按钮后才加载 Flash 播放器?

非常感谢!

4

2 回答 2

0

您可以使用swfobject在 div 中加载 swf 内容。

假设您的 html 中有一个 div,如下所示

<!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>
于 2013-03-30T16:20:08.120 回答
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>
于 2013-03-30T16:24:38.780 回答