ActionScript вызывает Javascript с исключением безопасности - PullRequest
0 голосов
/ 14 марта 2010

У меня есть SWF, размещенный в домене A, и у меня есть HTML в домене B

Мой SWF может быть загружен из доступа к HTML в домене B. Тем не менее, SWF получает

SecurityError: Ошибка № 2060: нарушение изолированной программной среды безопасности: Абонент ExternalInterface http://domainA.com/TrialApp.swf не может получить доступ http://DomainB.com/.

as3 чуть ниже:

ExternalInterface.call("javascript:_invite();");

Я также загрузил файл политики междоменного домена из домена B. во время инициализации.

Security.loadPolicyFile( "http://DomainB/crossdomain.xml" );

Как мне решить эту проблему?

в моем HTML, у меня есть

allowscriptaccess='always'

Заранее спасибо

1 Ответ

0 голосов
/ 14 марта 2010

Джейкоб прав, вы не должны включать протокол javascript при использовании ExternalInterface.call ().

Я далеко не уверен, что это решит исключение безопасности, но вы можете попытаться сделать:

ExternalInterface.call("_invite");

... вместо:

ExternalInterface.call("javascript:_invite();");

Документированный способ использования ExternalInterface.call () - это ExternalInterface.call (functionName: String, ... arguments). На практике вы также можете отправить строку, представляющую собой фрагмент JavaScript (без "javascript:"), и она будет выполнена, поэтому ExternalInterface.call ("_ пригласить ();") также может работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...