2011-09-12 2 views
0

J'ai 20 fichiers flash différents que j'ai besoin de jouer au hasard quand un utilisateur entre un code postal. J'en ai terminé avec le projet, mais la façon dont je l'ai fait est que je pense que cela aurait pu être fait beaucoup mieux. J'ai 20 différents fichiers aspx qui ont l'objet flash. Je redirige les utilisateurs vers différents fichiers aspx basés sur le nombre aléatoire en utilisant la classe aléatoire. Est-il possible d'avoir un seul fichier aspx où la valeur param et les données peuvent être transmises en utilisant une variable. De cette façon, il est plus facile à maintenir et je n'ai pas besoin d'aller à 20 fichiers aspx différents pour mettre à jour quoi que ce soit. Voici à quoi ressemble l'objet flash.charger la page flash dynamiquement en C#

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="960" height="952" 
      id="HOT" align="middle"> 
      <param name="movie" value="../FlashFiles/FirstTime/HOT_00.swf" /> 
      <param name="quality" value="high" /> 
      <param name="bgcolor" value="#000000" /> 
      <param name="play" value="true" /> 
      <param name="loop" value="true" /> 
      <param name="wmode" value="transparent" /> 
      <param name="scale" value="showall" /> 
      <param name="menu" value="true" /> 
      <param name="devicefont" value="false" /> 
      <param name="salign" value="" /> 
      <param name="allowScriptAccess" value="sameDomain" /> 
      <!--[if !IE]>--> 
      <object type="application/x-shockwave-flash" data="../FlashFiles/FirstTime/HOT_00.swf" width="960" height="952"> 
       <param name="movie" value="HOT.swf" /> 
       <param name="quality" value="high" /> 
       <param name="bgcolor" value="#000000" /> 
       <param name="play" value="true" /> 
       <param name="loop" value="true" /> 
       <param name="wmode" value="transparent" /> 
       <param name="scale" value="showall" /> 
       <param name="menu" value="true" /> 
       <param name="devicefont" value="false" /> 
       <param name="salign" value="" /> 
       <param name="allowScriptAccess" value="sameDomain" /> 
       <!--<![endif]--> 
       <a href="http://www.adobe.com/go/getflash"> 
        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" 
         alt="Get Adobe Flash player" /> 
       </a> 
       <!--[if !IE]>--> 
      </object> 
      <!--<![endif]--> 
     </object> 

Veuillez aviser !! Merci!

Répondre

0

SwfObject est couramment utilisé pour écrire la balise flash à partir de JavaScript, en passant tous les paramètres nécessaires. C'est un peu plus propre que d'écrire l'étiquette manuellement. Vous pouvez émettre le nom du film flash par un appel côté serveur comme indiqué ci-dessous, ou utiliser du JavaScript pur.

var flashvars = {};; 
flashvars.basePath = "/"; 

var params = {}; 
params.allowScriptAccess = "always"; 
params.base = "/"; 
params.bgcolor = "#000000";    
params.wmode = "transparent"; 
params.scale = "noscale"; 
params.salign = 'tr'; 

swfobject.embedSWF("<%= GetRandomFlashMove() %>", 
        "BaseLoader", 
        "976", 
        "561", 
        "10.0.0", 
        "/expressInstall.swf", 
        flashvars, params); 
+0

Ou serait-il possible de passer dans les variables serveur - par exemple '<% = FlashUrl.ToString()%>' ... où FlashUrl serait peuplé de différentes urls sur l'événement de chargement de page. – Bladerunner

+0

Oui c'est un peu ce que je voulais dire par 'GetRandomFlashMove()'. Il renvoie une URL flash Randmon à partir de la logique côté serveur. – TheCodeKing

+0

Yup je l'ai eu à travailler ... mais n'a pas utilisé javascript. Juste passé dans une variable de session et changé sa valeur au lieu d'appeler différents fichiers aspx. C'est génial ... merci de me guider dans la bonne direction. – Bladerunner

Questions connexes