2009-04-10 13 views
7

AS3のHTMLページでjQuery関数を実行しようとしています。AS3を使用してjQuery関数を実行するには

これは私のjQueryの関数である。ここでは

function loadImage(imageNumber) 
    { 
    imageURL = '<img src="images/image' + imageNumber + '.jpg">'; 
    $("#imageBox").html(imageURL); 
    } 

は、HTMLページ内の私のフラッシュファイルの設定は以下のとおりです。

<param name="allowScriptAccess" value="always" /> 
<param name="bgcolor" value="#ffffff" />  
<embed src="links.swf" quality="high" bgcolor="#ffffff" width="320" height="242" name="links" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" /> 

そして最後に...ここに私の中にAS3のスクリプトがあります。 swfファイル:

function gotoImage1(e:MouseEvent):void { 
    var jscommand:String = "loadImage(1);" 
    var link:URLRequest = new URLRequest("javascript:" + jscommand + ""); 
    navigateToURL(link, '_self'); 
} 

時間を割いて見ていただきありがとうございました。ありがとうございました。

親切Regards.Tom

答えて

6

あなたが代わりにExternalInterfaceを使用することができます。

if (ExternalInterface.available) { 
    ExternalInterface.call('function(){ alert("test"); }'); 
} 

は、ドキュメンテーション:http://livedocs.adobe.com/flex/3/langref/flash/external/ExternalInterface.html

+1

速い応答をありがとう、私は警告( "テスト")を表示するが、私は私の機能を実行することができません。私のHTMLページの上部にある関数は "loadImage"と呼ばれています。私はこの関数にも変数を渡しています。 if(ExternalInterface.available){ ExternalInterface.call( 'loadImage(1);'); } – Tisch

+0

を心配しないでください。 iveはそれを働かせました。答えは大変ありがとうございます。 Muchosは感謝しています:) – Tisch

1

最終的な解決策は:

function gotoImage2(e:MouseEvent):void 
{ 
    if(ExternalInterface.available) 
    { 
     ExternalInterface.call('function(){ loadImage(2); }'); 
    } 
} 

誰がしたかっただけの場合にはそれがどのように終わったかを見てください...

+0

なぜあなたは直接匿名関数を使用する代わりにjavascriptメソッドを呼び出していないのですか? 'ExternalInterface.call( 'loadImage'、2);' – duTr

関連する問題