【问题标题】:Dynamic SWF File in a Html/Javascript pageHtml/Javascript 页面中的动态 SWF 文件
【发布时间】:2012-03-31 16:49:31
【问题描述】:

当我单击同一页面中的 menuItem 时,我需要更改嵌入在我的 html 页面中的 swf。我不想使用另一个 swf 导航到新页面,因为那样会慢一些。 所以,我需要一些解决方案。 目前我在 html 中使用 div 在其中包含一个 swf 文件。我当前的代码如下所示,javascript方法showAlert稍后将更改,但这是我现在要更改SWF文件的那个...

   <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
      <title>Wrapper Being Called</title>
       <script type="text/javascript" src="/TestProject/flashfiles/swfobject.js">       </script>
       <script type="text/javascript">
          var swfVersionStr = "0";
          var xiSwfUrlStr = "";
          var flashvars = {};
        var params = {};
        params.quality = "high";
        params.bgcolor = "#ffffff";
        params.allowscriptaccess = "always";
        var attributes = {};
        attributes.id = "WrapperCaller";
        attributes.name = "WrapperCaller";
        attributes.align = "middle";
        swfobject.embedSWF(
            "/TestProject/flashfiles/Project1.swf", "flashContent",
            "100%", "100%",
            swfVersionStr, xiSwfUrlStr,
            flashvars, params, attributes);
    </script>
</head>

 <SCRIPT LANGUAGE="JavaScript">
     function showAlert(a) {
        alert(a);
        return "successful";
     }

 </SCRIPT>

<body>
    <div id="flashContent"/>

【问题讨论】:

  • 那么您是否尝试过自己弄清楚如何做呢?还是你想让这里有人为你做这件事?
  • 我已经很努力了....没有工作。试图通过js刷新DIV内容不起作用。还向 swfObject 的开发人员发送了一封电子邮件。但截至目前没有任何回应。
  • 这不应该也被标记为一个动作脚本问题吗?
  • 不,这与动作脚本无关,是的,我试图嵌入的 swf 中有动作脚本。但我面临的唯一问题是在 javascript html 方面。
  • 根据您在此处处理的 SWF 文件的数量,我认为您的最终结果无论如何都会很慢。选项 a) 将所有 FLASH 嵌入页面,然后使用 CSS 隐藏您不想看到的那些(可能非常慢) b) 使用 JavaScript 预加载 SWF 文件(可能会很慢),然后根据具体情况更改它们用户操作 c) 使用 AJAX 按需获取 SWF 文件 d) 在您的网页中使用 IFRAME

标签: javascript html dynamic flash


【解决方案1】:

好的,我在这里找到了解决方案,它非常简单,而且速度比将 Flash 文件放在单独的页面中并导航到它要快。所有的 swf 文件都在服务器上。

<body>
<table align="center" cellpadding="0"  cellspacing="0" border="0" >
    <tr align="center">
        <td align="center" >
            <div id="objectDIV" >   
                <object id="workingSWF" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="740" width="600" >
                </object>
            </div>
        </td>
    </tr>
</table>
</body>

更改文件的 JavaScript 代码是:

function navigateToPage(fileLink) {
    document.getElementById("workingSWF").innerHTML = 
    "<object type='application/x-shockwave-flash' data='"+fileLink+"' width='740' height='600'>";
    document.getElementById("workingSWF").focus();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-14
    • 2010-09-13
    • 2020-11-25
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    相关资源
    最近更新 更多