В моем веб-приложении 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 (моя страница JSP в браузере, отличном от IE), я получаю следующую ошибку: "ActiveXObject не определен".
Теперь это имеет смысл для меня, потому что ActiveXObject поддерживается только IE.
Итак, почему он работает, когда заканчивается приложение Flex (в веб-браузере, отличном от IE), но я получаю сообщение об ошибке в качестве веб-приложения со страницы JSP?
Мое предположение было неправильным, оно не работает в браузере, отличном от IE, даже если у меня есть объект Flex, встроенный в страницу.
Проблема заключалась в том, как я удалял свой метод; подключение приложения Flex/External Interface не вызывало ошибки (даже если бы оно было), и подход HTML/JSP всегда выполнялся.