Question

J'ai une page HTML avec un film flash intégré, qui a un bouton. Ce bouton flash appelle l'événement click du lnkEmail. Il est censé empêcher de naviguer en fait à une nouvelle page, mais le event.preventDefault (); et le retour de faux de l'événement gestionnaire ne semble pas fonctionner pour moi. Quelqu'un peut-il donner un aperçu?

L'exemple ci-dessous travaille en chrome, mais échoue dans IE 7 et FF. Dans ces navigateurs, il redirige vers une page blanche avec l'objet [objet] comme le corps et FF a l'ensemble url du code javascript j'exécute à partir du film Flash. (Ex: "javascript:. JQuery ( '# lnkEmail') cliquez sur ();")

Voici le code dans le code ActionScript Flash.

cmdDemo.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
   navigateToURL(
      new URLRequest(
         "javascript:jQuery('#lnkEmail').click();"
      ), 
      "_self"
   );
}

Dans la page HTML contenant il y a les scripts et les éléments suivants:

<script type="text/javascript">
   $(function(){
      $.nyroModalSettings({
         debug: true
      });

      $('#lnkEmail').click(function(event) {
         event.preventDefault();
         $.nyroModalManual({
            url: 'demoRequest.aspx?Type=4'
         });
         return false;
      });
   });
</script>

Et plus tard dans le même fichier:

<div id="box_stage_home">
   <script type="text/javascript">
      $(document).ready(function() { 
         $('#HomeAnimation').flash({ 
            swf: 'Flash/index_page.swf', 
            height: 288, 
            width: 686, 
            wmode: 'transparent' 
         }); 
      });
   </script>
   <div id="HomeAnimation"><!--IE 6.0--></div>
   <a href="emailSend.aspx?Type=4" id="lnkEmail">&nbsp;</a>
</div>
Était-ce utile?

La solution 2

cernées la bonne façon (Corneliu merci) de le faire alors pensé que je posterai revenir ici pour référence. Dans le fichier html:

<script type="text/javascript">
   function viewDemo() {
      $.nyroModalManual({
         url: 'emailSend.aspx?Type=4'
      });           
   }
</script>

Dans le fichier flash:

import flash.system.Security;

cmdDemo.addEventListener(MouseEvent.CLICK, clickHandler);

function clickHandler(event:MouseEvent):void {
   flash.system.Security.allowDomain("business.com");
   ExternalInterface.call("viewDemo");
}

Autres conseils

Jetez un oeil à la documentation navigateToURL:

scroll top