Под "из какого домена они загружаются" вы имеете в виду:
- Сам SWF?
- Страница, содержащая SWF?
Если # 1, вы можете легко получить значение из свойства root.loaderInfo.url
любого экранного объекта.
# 2 сложнее.Если allowscriptaccess
установлен в true
в коде для встраивания, вы можете использовать Javascript с вызовом ExternalInterface.Это на document.location.host
или document.location.hostname
.
Если у вас нет доступа к Javascript (например, если ваш SWF находится в посте Facebook), вам нужно сделать небольшую настройку, иРешение будет зависеть от поведения браузера пользователя.Вот один из способов сделать это:
Настройте серверный скрипт, который ваш SWF может пропинговать.Этот скрипт должен искать заголовок http "referer" и отправлять его обратно при проверке.Затем пусть ваш SWF отправит URLRequest этому сценарию.Данные будут местом встраивания.
В PHP сценарий будет просто echo $_SERVER["HTTP_REFERER"];
.Это так же просто в большинстве других языков.
Вот еще один способ сделать это: Как получить домен страницы, которая загружает мой SWF, когда у меня нет доступа к сценарию?
Если вы просто хотите защитить свой SWF-файл от встраивания в чужие страницы, это проще.Просто проверьте на ExternalInterface.available
.Если это неверно, отключите SWF.Если это правда, проверьте домен с помощью вышеуказанного (# 1) метода и отключите SWF, если домен неправильный.