Управление доступом к внешним URL-адресамFlash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий Выполнение внешних сценариев и доступ к внешним URL-адресам (через HTTP-адреса, ссылки «mailto:» и т. д.) осуществляется с помощью следующих API-интерфейсов.
Для содержимого, загруженного из локальной файловой системы, вызовы этих методов успешны, только если код и содержащая веб-страница (если таковая имеется) находятся в локальной доверенной изолированной программной среде или изолированной программной среде приложения AIR. Вызовы этих методов не выполняются, если содержимое находится в локальной изолированной программной среде файловой системы или с сетевым подключением. Для содержимого, которое не загружено локально, все эти API-интерфейсы могут взаимодействовать с веб-страницей, в которую они встроены, в зависимости от значения параметра AllowScriptAccess, который описывается ниже. Функция flash.net.navigateToURL() также может взаимодействовать с любым открытым окном или фреймом обозревателя, а не только со страницей, в которую встроен SWF-файл. Дополнительные сведения об этой возможности см. в разделе «Использование функции navigateToURL()». Параметр AllowScriptAccess в HTML-коде, который загружает SWF-файл, управляет возможностью доступа к внешним URL-адресам через SWF-файл. Этот параметр нужно задать внутри тега PARAM или EMBED. Если для параметра AllowScriptAccess не задано значение, SWF-файл и HTML-страница могут взаимодействовать, только если находятся в одном и том же домене. Параметр AllowScriptAccess может иметь одно из трех возможных значений: "always", "sameDomain" или "never".
Ниже приводится пример настройки тега AllowScriptAccess HTML-страницы, которая разрешает доступ к внешним URL-адресам другого домена. <object id='MyMovie.swf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0' height='100%' width='100%'> <param name='AllowScriptAccess' value='always'/> <param name='src' value=''MyMovie.swf'/> <embed name='MyMovie.swf' pluginspage='http://www.adobe.com/go/getflashplayer' src='MyMovie.swf' height='100%' width='100%' AllowScriptAccess='never'/> </object> Использование функции navigateToURL()Помимо обеспечения безопасности с помощью описанного выше параметра allowScriptAccess, функция navigateToURL() имеет дополнительный второй параметр — target. С помощью параметра target можно указать имя окна или фрейма HTML-страницы, которому требуется отправить URL-запрос. К таким запросам применяются дополнительные ограничения по безопасности, которые варьируются в зависимости от того, используется метод navigateToURL() со сценарием или без него. Если в метод включен сценарий, например navigateToURL("javascript: alert('Hello from Flash Player.')"), применяются следующие правила.
Если в метод не включен сценарий (например, ссылки HTTP, HTTPS и mailto:), запрос не выполняется при наличии всех перечисленных ниже условий:
Дополнительные сведенияДополнительные сведения о доступе к внешним URL см. в описании следующих элементов в cправочнике ActionScript® 3.0 для платформы Adobe® Flash® Platform:
|
|