Динамический SWF-файл на странице HTML / Javascript - PullRequest
1 голос
/ 31 марта 2012

Мне нужно изменить SWF, встроенный в мою HTML-страницу, когда я нажимаю на элемент меню на той же странице. Я не хочу переходить на новую страницу с другим SWF, потому что это будет немного медленнее. Итак, мне нужны некоторые решения. В настоящее время я использую Div в HTML, чтобы включить в него 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"/>

1 Ответ

1 голос
/ 23 апреля 2012

Хорошо, у меня есть решение, оно довольно простое, и скорость быстрее, чем помещение файла флэш-памяти на отдельную страницу и переход к ней. Все 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();
}
...