2012-03-31 3 views
1

Ich muss die SWF eingebettet in meiner HTML-Seite ändern, wenn ich auf ein MenuItem auf der gleichen Seite klicken. Ich möchte nicht mit einem anderen swf zu einer neuen Seite navigieren, weil das etwas langsamer sein wird. Also brauche ich ein paar Lösungen. derzeit verwende ich div im HTML, um eine SWF-Datei darin aufzunehmen. mein aktueller Code unten angegeben wird, wird die JavaScript-Methode showAlert später geändert werden, aber das ist das, was ich will jetzt ...Dynamische SWF-Datei in einer HTML/Javascript-Seite

<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

Sie also versucht haben, sich selbst zu herausfinden, wie es zu tun? Oder willst du jemanden hier, nur um es für dich zu tun? –

+0

Ich habe mich bemüht .... nicht ausgearbeitet. Versucht, den DIV-Inhalt zu aktualisieren, indem js nicht funktioniert. Schickte auch eine E-Mail an die Entwickler des swfObject. aber ab sofort keine Antwort. –

+0

sollte dies nicht auch als ActionScript-Frage markiert werden? –

Antwort

1

Ok, rechts die SWF-Datei ändern, habe ich die Lösung hier ist es ziemlich einfach und die Geschwindigkeit ist schneller, als die Flash-Datei in eine separate Seite zu setzen und zu ihm zu navigieren. Alle SWF-Dateien sind auf dem Server.

<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> 

Der JavaScript-Code, der die Datei ändert, ist:

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