【发布时间】:2012-07-17 00:25:17
【问题描述】:
我希望有人可以帮助我。我在使用 AS3 的 FlashBuilder 4 中有以下功能:
protected function doIt():void
{
if (ExternalInterface.available) {
var retData:String;
retData = ExternalInterface.call("returndata");
if(retData != null) {
eidLbl.text = retData.toString();
} else {
eidLbl.text = "Returned Null";
}
} else {
eidLbl.text = "External Interface not available";
}
}
以及它调用的以下javascript函数:
var fql_query = "some query format";
function returndata(){
return fql_query;
}
当我从我的网站运行这些时,一切正常! flash 文件调用 javascript 函数并将“某种查询格式”返回到正确的文本字段中。
但是,如果我将 flash 功能更改为如下:
protected function doIt():void
{
if (ExternalInterface.available) {
var retData:String;
retData = ExternalInterface.call("runFQL",uidLbl.text);
if(retData != null) {
eidLbl.text = retData.toString();
} else {
eidLbl.text = "Returned Null";
}
} else {
eidLbl.text = "External Interface not available";
}
}
以及以下javascript函数:
function runFQL(id){
var user_id = id;
var page_id = "**********"; // the page id that is actually there is valid
var fql_query = "SELECT uid FROM page_fan WHERE page_id="+page_id+" and uid="+user_id;
FB.api({
method: 'fql.query',
query: fql_query
},
function(response){
if (response[0]) {
var uid = response[0].uid;
window.alert(uid); //100001632043058
return uid;
} else {
window.alert("return 1000");
}
});
};
我的问题是,当我运行这个时,它会传入 id,运行查询,并准确地拉回 uid 并将其显示在警报中但(这是我的问题)它不会将其传回闪回。它每次都返回为 null 或 undefined。
谁能告诉我我错过了什么。我已经在谷歌上搜索了好几个小时了。
【问题讨论】:
标签: javascript actionscript-3 flash externalinterface