Работает ли ExternalInterface с файлом: протокол? - PullRequest
7 голосов
/ 09 марта 2011

Может ли кто-нибудь подтвердить, что ExternalInterface работает по протоколу file:, или указать на некоторые документы, в которых говорится, что это не так?

Ответы [ 3 ]

8 голосов
/ 09 марта 2011

Это начинает выглядеть так, как будто это не будет работать. эта страница говорит:

Сценарии в любом направлении между локальными файлами HTML и локальными файлами SWF - например,использование класса ExternalInterface - требует, чтобы как HTML-файл, так и SWF-файл находились в локальной изолированной программной среде.Это связано с тем, что локальные модели безопасности для браузеров отличаются от локальной модели безопасности проигрывателя Flash Player.

И это то, что говорится о локальной доверенной изолированной программной среде:

локальная доверенная песочница. Локальные SWF-файлы, зарегистрированные как доверенные (пользователями или программами установки), помещаются в локальную доверенную изолированную программную среду.Системные администраторы и пользователи также могут переназначать (перемещать) локальный SWF-файл в локальную доверенную изолированную программную среду или из нее, исходя из соображений безопасности (см. Административные пользовательские элементы управления и Пользовательские элементы управления).SWF-файлы, которые назначены локальной доверенной изолированной программной среде, могут взаимодействовать с любыми другими SWF-файлами и загружать данные из любого места (удаленного или локального).

Таким образом, установщик или пользователь должен будет поместитьпереключиться в локальную доверенную песочницу afaict ..

3 голосов
/ 09 марта 2011

По умолчанию ExternalInterface выдаст ошибку безопасности # 2060, если вы попытаетесь использовать ее из файла: // страница.Однако, если вы добавите параметр <param name="allowscriptaccess" value="always"/> в свой код для вставки, он сможет общаться с JavaScript.

Документы на ExternalInterface ссылаются на это, в документации по исключениям для addCallback ()и вызов ().

РЕДАКТИРОВАТЬ: После дальнейшего обсуждения этого в комментариях ниже, кажется, что, хотя это работает для меня на Mac, это не работает на Windows.Ответ Эрика дает более подробную информацию о том, почему это не удается.

0 голосов
/ 11 марта 2011

В качестве альтернативы вы рассматривали возможность использования Air и использования файловой системы?

...