質問

ボタンが付いた埋め込まれたフラッシュムービーを備えたHTMLページがあります。フラッシュのこのボタンは、lnkemailのクリックイベントを呼び出します。実際に新しいページに移動するのを止めることになっていますが、event.preventdefault();そして、イベントハンドラーからFalseを返すことは私のために働いていないようです。誰かが洞察を提供できますか?

以下の例はChromeで動作していますが、IE 7およびFFでは失敗します。これらのブラウザでは、ボディとしてオブジェクト[オブジェクト]を使用して空白のページにリダイレクトし、FFには、フラッシュムービー内から実行するJavaScriptコードにURLが設定されています。 (つまり: "JavaScript:jquery( '#lnkemail')。クリック();")

以下は、Flash ActionScriptのコードです。

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

含まれるHTMLページには、次のスクリプトと要素があります。

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

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

後で同じファイルで:

<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>
役に立ちましたか?

解決 2

これを行うための適切な方法(Corneliuに感謝)を見つけたので、参照のためにここに投稿したと思いました。 HTMLファイル:

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

フラッシュファイル:

import flash.system.Security;

cmdDemo.addEventListener(MouseEvent.CLICK, clickHandler);

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

他のヒント

を見てください navigateToURL ドキュメンテーション: http://livedocs.adobe.com/flash/9.0/actionscriptlangrefv3/flash/net/package.html#navigateTourl%28%29. 。使用するつもりはありません javascript: リンク。

あなたが望むことをするために、使用してください ExternalInterface.call().

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top