在我的基于Web的Flex应用程序中,我对此方法进行了外部接口调用:
var arr:Array = ExternalInterface.call("getClientData", "");
以下是我的HTML页面中的方法:
function getClientData( keys ) {
try {
mySearchIntegration = new ActiveXObject( "pkg.myView.ExternalIntegration.getData" );
var myObj = "";
var cust = "";
var custID = "";
var custEMAIL = "";
var custNAME = "";
myObj = mySearchIntegration.GetData("44277F-XUI18");
}
catch (e) {
}
}
该函数返回数据。
现在,如果我尝试直接从HTML应用程序(非IE浏览器上的JSP页面)调用相同的函数,我会收到以下错误:“ActiveXObject not defined”。
现在,这对我有意义,因为ActiveX只支持IE。
那么,为什么在耗尽Flex应用程序(在非IE网络浏览器中)时它会起作用,但是我从JSP页面将其作为Web应用程序运行时出错?
答案 0 :(得分:0)
我的假设不正确,即使我在页面中嵌入了Flex对象,它也无法在非IE浏览器中运行。
问题在于我将方法剔除的方式; Flex应用程序/外部接口连接没有抛出错误(即使有一个错误),并且HTML / JSP方法总是这样做。