发新话题
打印

[求救] ExternalInterface.call如何访问JS变量?

ExternalInterface.call如何访问JS变量?

import flash.external.*;//加载
text_1.text = String(ExternalInterface.call("a",""));


text_1.text = String(ExternalInterface.call("a"));
不对啊

帮助里也没怎么说。

哎。 是我太笨 还是 FLASH里的帮助。。。

TOP

修饰符
签名
说明

static
addCallback(methodName:String, instance:Object, method:Function) : Boolean
将 ActionScript 方法注册为可从容器调用。

static
call(methodName:String, [parameter1:Object]) : Object
调用由 Flash Player 容器公开的函数,传递零个或多个参数。

TOP

也没提到啊。

TOP

"a_fl" "function getA(){return a;};getA()" "eval" "flash" "external" "ExternalInterface" "call" "a_txt" "text"


不明白

TOP

你JS代码是什么呢

发上来源文件看看不行吗?

TOP

以下为JS:

//输出测试,通过v传递flash变量
function jsAlert(v) {
alert(v);
}
//调用flash中的方法,"my_mv"为html页中swf的id
function callExternal() {
thisMovie("my_mv").flAlert();
}
//搭建js与flash互通的环境
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}else{
return document[movieName]
}
}

以下为AS:

//导入ExternalInterface类
import flash.external.ExternalInterface;
//下面这个赋值一定要注意,如果是字符串,写法应该是在双引内再加单引,此前我郁闷了一天
var i:String = "’js调用flash中的方法,传递flash变量给js’";
//var i:Number = 1234;
function showAlert(){
//调用js方法jsAlert(),并将flash变量赋值给js
ExternalInterface.call("jsAlert("+i+")");
}
//允许js中的flAlert()调用flash中的showAlert()
ExternalInterface.addCallback("flAlert",null,showAlert);

TOP

发新话题