0

ExternalInterface に関する記事やフォーラムの投稿 (その多くは私自身のもの) が豊富にあることは知っていますが、もう 1 つ追加すると思います...

ExternalInterface の可用性をテストするように設定された小さなフラッシュ アプリ (ボタン) があり、うまく機能します。また、ExternalInterface を使用しようとしている、より大きく、より複雑なフラッシュ mp3 プレーヤーもあります。それはそれほどうまくいきません。問題は、どこに問題があるかということです。私の作業用 externalInterface コードは次のようになります。

import flash.external.ExternalInterface  
myBtn.onRelease = function(){  
chkAvail();  
}  

function chkAvail() {  
var myText:TextField = this.createTextField('myText', this.getNextHighestDepth(), 100, 100, 300, 21);  
ExternalInterface.call("alert",'EI works!!");  
myText.text = String(ExternalInterface.available);  
}  

そして、そのすべてがうまく機能します。私の mp3 プレーヤー コードは次のようになります (抜粋、ここに投稿された完全なコード):

import flash.external.ExternalInterface;  

そして、javascriptを呼び出したい場所-

function loadPlaylist(){

//attempting to make external js call

ExternalInterface.call("alert", "Hello World!1");

//

track_display_mc.display_txt.text = LOADING_PLAYLIST_MSG;

if(track_display_mc.display_txt._width>track_display_mc.mask_mc._width){

    track_display_mc.onEnterFrame = scrollTitle;

}else{...

では、なぜ最初のものは機能し、2 番目のものは機能しないのでしょうか? htmlから正しく呼び出しているような気がします。flash.external.ExternalInterface のインポートに問題がある可能性はありますか? 実際のアクションスクリプトではなく、.as がインポート/インクルードされる .flv にそれを含める必要がありますか? すべてのヘルプ/アイデアは大歓迎です...

4

1 に答える 1

0

mp3 プレーヤーの swf と html は同じドメインにありますか?

オブジェクト + 埋め込みタグで allowscriptaccess=always を設定しましたか?

于 2009-06-28T16:56:14.417 に答える