外部接口问题

时间:2009-05-19 19:14:18

标签: flash actionscript-2 externalinterface

我知道有很多关于ExternalInterface的文章和论坛帖子(其中很多都来自我自己),我想我会再添加一个......

我有一个小型Flash应用程序(一个按钮),用于测试ExternalInterface的可用性,它运行良好。我还有一个更大,更复杂的flash mp3播放器,我试图使用ExternalInterface;它不是那么好用。问题是,问题出在哪里?我的工作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播放器代码看起来像这样(摘录,完整代码发布here): 在顶部 -

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{...

那么为什么第一个工作而不是第二个?我觉得我正在从html中正确地调用它们。导入flash.external.ExternalInterface会有问题吗?我应该在导入/包含.as的.flv中包含它,而不是在实际的actionscript中吗?非常感谢所有的帮助/想法...

1 个答案:

答案 0 :(得分:0)

mp3播放器swf和html是否在同一个域上?

你是否在你的object + embed标签中设置了allowscriptaccess =