В настоящее время я работаю над старым приложением, созданным во Flex (так, по сути, Flash), которое все еще требуется для работы в IE11 (я знаю ... я знаю). Это веб-приложение (назовем его A) предоставляет метод, вызываемый из JavaScript. А также имеет кнопку, чтобы открыть новое окно браузера (назовите его B). У B есть слушатель события «beforeunload»: когда пользователь собирается закрыть B, B должен вызвать метод JS в A. Надеюсь, я все правильно объяснил. Используя Google Chrome с параметром --disable-web-security, метод, определенный в A, выполняется, и мы довольны этим. Мы используем следующую инструкцию:
window.opener.document.getElementById('flashAppID').methodName();
Проблема, с которой мы сталкиваемся, заключается в том, что IE11 выдает следующее исключение, когда B пытается выполнить метод JS в A:
{
[functions]: ,
__proto__: {
[functions]: ,
__proto__: {
[functions]: ,
__proto__: null
},
message: "",
name: "Error"
},
description: "Authorization denied",
message: "Authorization denied",
name: "Error",
number: -2146828218,
stack: "Error: Authorization denied
at callOpener (http://domainname.ext/pageB.html:18:21)"
}
Мы пытались отключить любые возможные ограничения безопасности в IE, но безуспешно;У кого-нибудь есть предложения, как избежать этого исключения?
Заранее спасибо.