我知道有很多关于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中吗?非常感谢所有的帮助/想法...
答案 0 :(得分:0)
mp3播放器swf和html是否在同一个域上?
你是否在你的object + embed标签中设置了allowscriptaccess =