<?xml version="1.0" encoding="UTF-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<apiPackage xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/" id="flash.external" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiPackage/apiPackage "><apiName class="- topic/title reference/title apiRef/apiName ">flash.external</apiName><apiDetail class="- topic/body reference/refbody apiRef/apiDetail "/><apiClassifier languages="" id="flash.external:ExtensionContext" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiClassifier/apiClassifier "><apiName class="- topic/title reference/title apiRef/apiName ">ExtensionContext</apiName><shortdesc class="- topic/shortdesc ">
         Класс ExtensionContext предоставляет интерфейс для вызова функций в собственной реализации расширения ActionScript.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="AIR" version="2.5" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata></prolog><apiClassifierDetail class="- topic/body reference/refbody apiRef/apiDetail apiClassifier/apiClassifierDetail "><apiClassifierDef class="- topic/section reference/section apiRef/apiDef apiClassifier/apiClassifierDef "><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiStatic class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiStatic "/><apiFinal class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiFinal "/><apiBaseClassifier class="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiBaseClassifier ">flash.events:EventDispatcher</apiBaseClassifier></apiClassifierDef><apiDesc class="- topic/section reference/section apiRef/apiDesc ">
         Класс ExtensionContext предоставляет интерфейс для вызова функций в собственной реализации расширения ActionScript. Этот класс можно использовать только в классах ActionScript, которые входят в состав расширения.
		 
		 <p class="- topic/p "><i class="+ topic/ph hi-d/i ">Поддержка в профилях AIR:</i> эта функция поддерживается только в среде AIR для телевизионных устройств в программах, в которых применяется профиль устройств <codeph class="+ topic/ph pr-d/codeph ">extendedTV</codeph>.</p>
	 	 
         <p class="- topic/p ">Расширение ActionScript представляет собой комбинацию следующих компонентов:</p>
         
         <p class="- topic/p "><ul class="- topic/ul "><li class="- topic/li ">Классы ActionScript.</li><li class="- topic/li ">Собственный код. Собственный код — это код, который выполняется на устройстве вне среды выполнения. Например, код, который написан на языке C, является собственным кодом.</li></ul></p>
         
         <p class="- topic/p ">Можно создать расширение ActionScript для открытия в программе AIR доступа к определенным функциям устройства. В числе других причин создания расширения ActionScript — повторное использование существующего собственного кода или обеспечение более эффективной обработки с использованием собственного кода, предоставляемого с помощью кода ActionScript. Для получения дополнительной информации о написании, сборке и упаковке расширений ActionScript см. PDF-документ «<xref href="http://www.adobe.com/go/learn_air_as_extensions_en" class="- topic/xref ">Разработка расширений ActionScript для Adobe AIR</xref>».
         </p>
         
         <p class="- topic/p ">Используйте класс ExtensionContext на стороне ActionScript расширения ActionScript для доступа к собственной части расширения. Сначала создайте экземпляр класса ExtensionContext. Для этого вызовите статический метод <codeph class="+ topic/ph pr-d/codeph ">ExtensionContext.createExtensionContext()</codeph>.</p>
		 
		 <p class="- topic/p ">После создания экземпляра ExtensionContext используйте метод <codeph class="+ topic/ph pr-d/codeph ">call()</codeph> экземпляра для вызова собственной функции.</p>
		 
		 <p class="- topic/p ">По завершении работы с экземпляром ExtensionContext вызовите метод <codeph class="+ topic/ph pr-d/codeph ">dispose()</codeph> для освобождения любых связанных собственных ресурсов. Без явного вызова метода <codeph class="+ topic/ph pr-d/codeph ">dispose()</codeph> «сборщик мусора» среды выполнения вызывает метод <codeph class="+ topic/ph pr-d/codeph ">dispose()</codeph> при удалении экземпляра. Явный вызов метода <codeph class="+ topic/ph pr-d/codeph ">dispose()</codeph>, как правило, происходит гораздо быстрее запуска функции «сборщик мусора».</p>
         
         <p class="- topic/p ">Экземпляр ExtensionContext может прослушивать события StatusEvent, которые отправляет собственный код в случае возникновения некоторых асинхронных событий в собственной реализации расширения. Так как класс ExtensionContext является производным от класса EventDispatcher, он может в свою очередь отправлять события.</p>
		  
		 <p class="- topic/p ">Класс ExtensionContext также обеспечивает статический метод <codeph class="+ topic/ph pr-d/codeph ">getExtensionDirectory()</codeph> для доступа к каталогу, в котором расширение установлено на устройстве. Он также обеспечивает свойство <codeph class="+ topic/ph pr-d/codeph ">actionScriptData</codeph> для общего доступа к данным вместе с собственной реализацией расширения.</p>
		 
		 <p class="- topic/p "><b class="+ topic/ph hi-d/b ">Примечание. </b>В программах AIR, в которых используется профиль <codeph class="+ topic/ph pr-d/codeph ">extendedDesktop</codeph>, можно использовать класс NativeProcess для выполнения собственных процессов.</p>  
		 
         </apiDesc></apiClassifierDetail><related-links class="- topic/related-links "><link href="http://www.adobe.com/go/learn_air_as_extensions_en" class="- topic/link "><linktext class="- topic/linktext ">Разработка расширений ActionScript для Adobe AIR</linktext></link><link href="flash.desktop.xml#NativeProcess" class="- topic/link "><linktext class="- topic/linktext ">flash.desktop.NativeProcess</linktext></link></related-links><apiOperation id="flash.external:ExtensionContext:call" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiOperation/apiOperation "><apiName class="- topic/title reference/title apiRef/apiName ">call</apiName><shortdesc class="- topic/shortdesc ">
             Вызывает собственную функцию, указанную в functionName.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="AIR" version="2.5" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata></prolog><apiOperationDetail class="- topic/body reference/refbody apiRef/apiDetail apiOperation/apiOperationDetail "><apiOperationDef class="- topic/section reference/section apiRef/apiDef apiOperation/apiOperationDef "><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiException class="+ topic/ph reference/ph apiRef/apiDefItem apiOperation/apiEvent adobe-api-d/apiException "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Отсутствует функция, имя которой совпадает с именем, указанным в <codeph class="+ topic/ph pr-d/codeph ">functionName</codeph>.
             
             </apiDesc><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">ArgumentError</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">ArgumentError</apiOperationClassifier></apiException><apiException class="+ topic/ph reference/ph apiRef/apiDefItem apiOperation/apiEvent adobe-api-d/apiException "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Метод <codeph class="+ topic/ph pr-d/codeph ">dispose()</codeph> уже вызван в этом экземпляре ExtensionContext. Эта ошибка также создается, если собственная функция возвращает недопустимую ссылку на объект.
             
		 	 </apiDesc><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">IllegalOperationError</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">flash.errors:IllegalOperationError</apiOperationClassifier></apiException><apiReturn class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiReturn "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Значение, возвращенное собственной функцией. Значение <codeph class="+ topic/ph pr-d/codeph ">null</codeph> возвращается, если собственная функция не возвращает значение или возвращает недопустимую ссылку на объект.
             
             </apiDesc><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">Object</apiOperationClassifier></apiReturn><apiParam class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiParam "><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">functionName</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">String</apiOperationClassifier><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Имя, которое представляет функцию в собственной реализации. Это имя может не совпадать с фактическим именем собственной функции и являться любым именем, согласованным в части ActionScript и собственной части расширения.
			 
			 </apiDesc></apiParam><apiParam class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiParam "><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">args</apiItemName><apiType value="restParam" name="type" class="- topic/state reference/state apiRef/apiType "/><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Список аргументов для собственной функции. Эти аргументы могут быть любыми объектами ActionScript: примитивные типы или объекты класса ActionScript. Типы и прядок аргументов согласованы в части ActionScript и собственной части расширения.
			 
			 </apiDesc></apiParam></apiOperationDef><apiDesc class="- topic/section reference/section apiRef/apiDesc ">
             Вызывает собственную функцию, указанную в <codeph class="+ topic/ph pr-d/codeph ">functionName</codeph>. Любые дополнительные аргументы передаются в собственную функцию.
             
             </apiDesc></apiOperationDetail></apiOperation><apiOperation id="flash.external:ExtensionContext:createExtensionContext" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiOperation/apiOperation "><apiName class="- topic/title reference/title apiRef/apiName ">createExtensionContext</apiName><shortdesc class="- topic/shortdesc ">
             Создает экземпляр ExtensionContext для указанных идентификатора расширения и типа контекста.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="AIR" version="2.5" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata></prolog><apiOperationDetail class="- topic/body reference/refbody apiRef/apiDetail apiOperation/apiOperationDetail "><apiOperationDef class="- topic/section reference/section apiRef/apiDef apiOperation/apiOperationDef "><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiStatic class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiStatic "/><apiException class="+ topic/ph reference/ph apiRef/apiDefItem apiOperation/apiEvent adobe-api-d/apiException "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Параметр <codeph class="+ topic/ph pr-d/codeph ">extensionID</codeph> имеет значение <codeph class="+ topic/ph pr-d/codeph ">null</codeph> и не является допустимым идентификатором расширения.
			 
		 	 </apiDesc><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">ArgumentError</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">ArgumentError</apiOperationClassifier></apiException><apiReturn class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiReturn "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Новый экземпляр ExtensionContext. Возвращает значение <codeph class="+ topic/ph pr-d/codeph ">null</codeph>, если расширение с указанным значением <codeph class="+ topic/ph pr-d/codeph ">extensionID</codeph> недоступно.
             
             </apiDesc><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">flash.external:ExtensionContext</apiOperationClassifier></apiReturn><apiParam class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiParam "><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">extensionID</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">String</apiOperationClassifier><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Идентификатор расширения. Значение этого идентификатора совпадает со значением элемента <codeph class="+ topic/ph pr-d/codeph ">id</codeph> в файле дескриптора расширения. Разработчики программ также используют это значение в элементе <codeph class="+ topic/ph pr-d/codeph ">extensionID</codeph> файла дескриптора программы. Все расширения совместно используют одно глобальное пространство имен. Поэтому во избежание конфликтов имен используйте обратную запись DNS для идентификатора расширения.
			 
             </apiDesc></apiParam><apiParam class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiParam "><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">contextType</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">String</apiOperationClassifier><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Тип контекста расширения. В зависимости от типа контекста выполнение инициализации в собственной реализации может различаться. Это различие может заключаться в том, что в собственной реализации указывается другой набор собственных функций, доступных для вызова на стороне ActionScript. Значением типа контекста является любая строка, согласованная между частями ActionScript и собственной частью расширения. В простых расширениях зачастую не используются другие типы контекстов. В этих случаях передайте пустую строку <codeph class="+ topic/ph pr-d/codeph ">""</codeph> или <codeph class="+ topic/ph pr-d/codeph ">null</codeph> в качестве значения <codeph class="+ topic/ph pr-d/codeph ">contextType</codeph>.
			 
			 </apiDesc></apiParam></apiOperationDef><apiDesc class="- topic/section reference/section apiRef/apiDesc ">
             Создает экземпляр ExtensionContext для указанных идентификатора расширения и типа контекста.
             
			 </apiDesc></apiOperationDetail></apiOperation><apiOperation id="flash.external:ExtensionContext:dispose" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiOperation/apiOperation "><apiName class="- topic/title reference/title apiRef/apiName ">dispose</apiName><shortdesc class="- topic/shortdesc ">
             Избавляется от этого экземпляра ExtensionContext.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="AIR" version="2.5" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata></prolog><apiOperationDetail class="- topic/body reference/refbody apiRef/apiDetail apiOperation/apiOperationDetail "><apiOperationDef class="- topic/section reference/section apiRef/apiDef apiOperation/apiOperationDef "><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiReturn class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiReturn "><apiType value="void" name="type" class="- topic/state reference/state apiRef/apiType "/></apiReturn></apiOperationDef><apiDesc class="- topic/section reference/section apiRef/apiDesc ">
             Избавляется от этого экземпляра ExtensionContext. 
			 
			 <p class="- topic/p ">Среда выполнения уведомляет собственную реализацию, которая может освободить любые связанные собственные ресурсы. После вызова <codeph class="+ topic/ph pr-d/codeph ">dispose()</codeph> код не может вызывать метод <codeph class="+ topic/ph pr-d/codeph ">call()</codeph> и получать или устанавливать значение свойства <codeph class="+ topic/ph pr-d/codeph ">actionScriptData</codeph>.</p>
			 
		 	 </apiDesc></apiOperationDetail></apiOperation><apiOperation id="flash.external:ExtensionContext:getExtensionDirectory" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiOperation/apiOperation "><apiName class="- topic/title reference/title apiRef/apiName ">getExtensionDirectory</apiName><shortdesc class="- topic/shortdesc ">
			 Возвращает каталог, в котором расширение установлено на устройстве.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="AIR" version="2.5" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata></prolog><apiOperationDetail class="- topic/body reference/refbody apiRef/apiDetail apiOperation/apiOperationDetail "><apiOperationDef class="- topic/section reference/section apiRef/apiDef apiOperation/apiOperationDef "><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiStatic class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiStatic "/><apiException class="+ topic/ph reference/ph apiRef/apiDefItem apiOperation/apiEvent adobe-api-d/apiException "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Каталог не существует. Наиболее вероятная причина — указанное значение <codeph class="+ topic/ph pr-d/codeph ">extensionID</codeph> недействительно.
			 
			 </apiDesc><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">IOError</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">flash.errors:IOError</apiOperationClassifier></apiException><apiReturn class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiReturn "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Экземпляр File для каталога, в котором установлено расширение.
			 
			 </apiDesc><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">flash.filesystem:File</apiOperationClassifier></apiReturn><apiParam class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiParam "><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">extensionID</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">String</apiOperationClassifier><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Идентификатор расширения. Значение этого идентификатора совпадает со значением параметра <codeph class="+ topic/ph pr-d/codeph ">extensionID</codeph> в <codeph class="+ topic/ph pr-d/codeph ">createExtensionContext()</codeph>. 
			 
			 </apiDesc></apiParam></apiOperationDef><apiDesc class="- topic/section reference/section apiRef/apiDesc ">
			 Возвращает каталог, в котором расширение установлено на устройстве.
			 
			 <p class="- topic/p ">Иногда расширение включает ресурсы, такие как изображения, к которым необходимо получать доступ из кода ActionScript расширения. Иногда код также запрашивает информацию, которая доступна в файле дескриптора расширения, например сведения о номере версии расширения. Этот метод можно использовать для доступа к основному каталогу расширения.</p>
			 
			 <p class="- topic/p ">Независимо от папки, в которой расширение установлено на устройстве, файлы расширения всегда находятся в одном и том же месте относительно этого основного каталога расширения. С использованием экземпляра File, возвращенного этим методом, можно перейти к определенным файлам, входящим в состав расширения, и управлять ими.</p>
			 
			 </apiDesc></apiOperationDetail></apiOperation><apiValue id="flash.external:ExtensionContext:actionScriptData:get" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiValue/apiValue "><apiName class="- topic/title reference/title apiRef/apiName ">actionScriptData</apiName><shortdesc class="- topic/shortdesc "> 
             Объект ActionScript (если таковой имеется), связанный с данным контекстом.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="AIR" version="2.5" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata></prolog><apiValueDetail class="- topic/body reference/refbody apiRef/apiDetail apiValue/apiValueDetail "><apiValueDef class="- topic/section reference/section apiRef/apiDef apiValue/apiValueDef "><apiProperty class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiProperty "/><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiDynamic class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiDynamic "/><apiValueAccess value="readwrite" class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiValueAccess "/><apiValueClassifier class="- topic/xref reference/xref apiRef/apiRelation apiValue/apiValueClassifier ">Object</apiValueClassifier><apiException class="+ topic/ph reference/ph apiRef/apiDefItem apiOperation/apiEvent adobe-api-d/apiException "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Метод <codeph class="+ topic/ph pr-d/codeph ">dispose()</codeph> уже вызван в этом экземпляре ExtensionContext. 
             
		 	 </apiDesc><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">IllegalOperationError</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">flash.errors:IllegalOperationError</apiOperationClassifier></apiException></apiValueDef><apiDesc class="- topic/section reference/section apiRef/apiDesc "> 
             Объект ActionScript (если таковой имеется), связанный с данным контекстом.
			 
			 <p class="- topic/p ">Можно связать любой объект ActionScript с экземпляром ExtensionContext. В собственной реализации можно также получать и задавать этот объект ActionScript. Поэтому можно использовать метод <codeph class="+ topic/ph pr-d/codeph ">actionScriptData</codeph> для совместного использования данных на стороне ActionScript и собственной стороне расширения.</p>
			 
			 <p class="- topic/p ">Можно также установить значение <codeph class="+ topic/ph pr-d/codeph ">actionScriptData</codeph>, равное <codeph class="+ topic/ph pr-d/codeph ">null</codeph>.</p>
 			 
             
             </apiDesc></apiValueDetail></apiValue></apiClassifier><apiClassifier languages="" id="flash.external:ExternalInterface" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiClassifier/apiClassifier "><apiName class="- topic/title reference/title apiRef/apiName ">ExternalInterface</apiName><shortdesc class="- topic/shortdesc ">
 Класс ExternalInterface представляет собой интерфейс прикладного программирования (API), который обеспечивает прямую связь между ActionScript и контейнером SWF, таким как страница HTML с JavaScript или компьютерная программа, использующая Flash Player для отображения SWF-файла.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="Flash" version="9" class="+ topic/ph adobe-api-d/apiPlatform "/><apiPlatform description="" name="Lite" version="4" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata><asCustoms class="+ topic/metadata adobe-api-d/asCustoms "><internal>Verify table is still correct and paragraph below the table still applies.
 </internal></asCustoms></prolog><apiClassifierDetail class="- topic/body reference/refbody apiRef/apiDetail apiClassifier/apiClassifierDetail "><apiClassifierDef class="- topic/section reference/section apiRef/apiDef apiClassifier/apiClassifierDef "><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiStatic class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiStatic "/><apiFinal class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiFinal "/><apiTipTexts><apiTipText class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiTipText ">Создает связь между объектом ActionScript и контейнером.
 
 </apiTipText></apiTipTexts><apiBaseClassifier class="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiBaseClassifier ">Object</apiBaseClassifier></apiClassifierDef><apiDesc class="- topic/section reference/section apiRef/apiDesc ">
 Класс ExternalInterface представляет собой интерфейс прикладного программирования (API), который обеспечивает прямую связь между ActionScript и контейнером SWF, таким как страница HTML с JavaScript или компьютерная программа, использующая Flash Player для отображения SWF-файла.
 
 
 <p class="- topic/p ">С помощью класса ExternalInterface можно вызвать функцию ActionScript в среде выполнения Flash, использующей JavaScript на странице HTML. Функция ActionScript может возвратить значение, которое JavaScript немедленно получит в качестве возвращаемого значения вызова.</p>
 
 <p class="- topic/p ">Поддержка данной возможности заменяет метод <codeph class="+ topic/ph pr-d/codeph ">fscommand()</codeph>.</p>
 
 <p class="- topic/p ">Используйте класс ExternalInterface при работе со следующими комбинациями браузеров и операционных систем:</p>
 <adobetable class="innertable"><tgroup cols="3" class="- topic/tgroup "><thead class="- topic/thead "><row class="- topic/row "><entry class="- topic/entry ">Браузер</entry><entry class="- topic/entry ">Операционная система</entry><entry class="- topic/entry ">Операционная система</entry></row></thead><tbody class="- topic/tbody "><row class="- topic/row "><entry class="- topic/entry ">Internet Explorer версии 5.0 или новее</entry><entry class="- topic/entry ">Windows</entry><entry class="- topic/entry "> </entry></row><row class="- topic/row "><entry class="- topic/entry ">Netscape версии 8.0 или новее</entry><entry class="- topic/entry ">Windows</entry><entry class="- topic/entry ">MacOS</entry></row><row class="- topic/row "><entry class="- topic/entry ">Mozilla 1.7.5 или новее</entry><entry class="- topic/entry ">Windows</entry><entry class="- topic/entry ">MacOS</entry></row><row class="- topic/row "><entry class="- topic/entry ">Firefox версии 1.0 или новее</entry><entry class="- topic/entry ">Windows</entry><entry class="- topic/entry ">MacOS</entry></row><row class="- topic/row "><entry class="- topic/entry ">Safari версии 1.3 или новее</entry><entry class="- topic/entry "> </entry><entry class="- topic/entry ">MacOS</entry></row></tbody></tgroup></adobetable>
 
 <p class="- topic/p ">Flash Player для Linux версии 9.0.31.0 и более новые версии программы обладают поддержкой класса ExternalInterface в следующих браузерах:</p>
  <adobetable class="innertable"><tgroup cols="1" class="- topic/tgroup "><thead class="- topic/thead "><row class="- topic/row "><entry class="- topic/entry ">Браузер</entry></row></thead><tbody class="- topic/tbody "><row class="- topic/row "><entry class="- topic/entry ">Mozilla версии 1.7.x или новее</entry></row><row class="- topic/row "><entry class="- topic/entry ">Firefox версии 1.5.0.7 или новее</entry></row><row class="- topic/row "><entry class="- topic/entry ">SeaMonkey версии 1.0.5 или новее </entry></row></tbody></tgroup></adobetable>
 <p class="- topic/p ">Класс ExternalInterface требует от web-браузера пользователя поддержки ActiveX<sup class="+ topic/ph hi-d/sup ">®</sup> или NPRuntime API, используемых им для выполнения сценариев с использованием подключаемых модулей. Если в списке отсутствует комбинация браузер/операционная система, при наличии поддержки NPRuntime API класс ExternalInterface должен также поддерживаться. См. <xref href="http://www.mozilla.org/projects/plugins/npruntime.html" scope="external" class="- topic/xref ">http://www.mozilla.org/projects/plugins/npruntime.html</xref>.</p>
 <p class="- topic/p "><b class="+ topic/ph hi-d/b ">Примечание.</b> При внедрении SWF-файлов в страницу HTML убедитесь в том, что атрибут <codeph class="+ topic/ph pr-d/codeph ">id</codeph> задан и что атрибуты <codeph class="+ topic/ph pr-d/codeph ">id</codeph> и <codeph class="+ topic/ph pr-d/codeph ">name</codeph> тегов <codeph class="+ topic/ph pr-d/codeph ">object</codeph> и <codeph class="+ topic/ph pr-d/codeph ">embed</codeph> не содержат следующих символов:</p>
 <pre xml:space="preserve" class="- topic/pre ">
 . - + ~~ / \
 </pre>
 <p class="- topic/p "><b class="+ topic/ph hi-d/b ">Примечание для программ Flash Player.</b> Flash Player версии 9.0.115.0 и более поздних позволяет использовать <codeph class="+ topic/ph pr-d/codeph ">.</codeph> (точка) в атрибутах <codeph class="+ topic/ph pr-d/codeph ">id</codeph> и <codeph class="+ topic/ph pr-d/codeph ">name</codeph>.</p>
 
 <p class="- topic/p "><b class="+ topic/ph hi-d/b ">Примечание для программ Flash Player.</b> В проигрывателе Flash Player 10 и более поздних версий, запущенном в браузере, при использовании этого класса в программных средствах открытие всплывающего окна может не выполняться. Различные браузеры (и конфигурации браузеров) могут блокировать всплывающие окна в любое время; невозможно гарантировать, что какое-либо всплывающее окно будет отображаться. Однако для повышения вероятности открытия всплывающего окна используйте этот класс только в коде, который выполняется в качестве непосредственного результата действия пользователя (например, в обработчике событий для события щелчка мышью или нажатия клавиши).</p>
 
 <p class="- topic/p ">Используя ActionScript на странице HTML, можно сделать следующее:
 <ul class="- topic/ul "><li class="- topic/li ">Вызвать любую функцию на языке JavaScript.</li><li class="- topic/li ">Передать любое число аргументов с любыми именами.</li><li class="- topic/li ">Передать любой тип данных (логический, числовой, строковый и так далее).</li><li class="- topic/li ">Получить возвращаемое функцией JavaScript значение.</li></ul>
 </p>
 
 <p class="- topic/p ">Используя JavaScript на странице HTML, можно сделать следующее:
 <ul class="- topic/ul "><li class="- topic/li ">Вызвать любую функцию на языке ActionScript.</li><li class="- topic/li ">Передать аргументы с использованием стандартной функции нотации.</li><li class="- topic/li ">Возвратить значение в функцию JavaScript.</li></ul>
 </p>
 
 <p class="- topic/p "><b class="+ topic/ph hi-d/b ">Примечание для программ Flash Player.</b> Flash Player в настоящее время не поддерживает SWF-файлы, встроенные в формы HTML.</p>
 
 <p class="- topic/p "><b class="+ topic/ph hi-d/b ">Примечание для программ AIR.</b> В Adobe AIR класс ExternalInterface может использоваться для обеспечения взаимодействия сценария JavaScript HTML-страницы, загруженной в элемент управления HTMLLoader, и ActionScript из содержимого SWF, вложенного в эту HTML-страницу.</p>
 
 </apiDesc><example conref="examples\ExternalInterfaceExample.as" class="- topic/example "> В следующем примере демонстрируется процесс передачи данных между проигрывателем Flash Player и контейнером HTML.
<codeblock xml:space="preserve" class="+ topic/pre pr-d/codeblock ">

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.external.ExternalInterface;
    import flash.text.TextField;
    import flash.utils.Timer;
    import flash.text.TextFieldType;
    import flash.text.TextFieldAutoSize;

    public class ExternalInterfaceExample extends Sprite {
        private var input:TextField;
        private var output:TextField;
        private var sendBtn:Sprite;

        public function ExternalInterfaceExample() {
            input = new TextField();
            input.type = TextFieldType.INPUT;
            input.background = true;
            input.border = true;
            input.width = 350;
            input.height = 18;
            addChild(input);

            sendBtn = new Sprite();
            sendBtn.mouseEnabled = true;
            sendBtn.x = input.width + 10;
            sendBtn.graphics.beginFill(0xCCCCCC);
            sendBtn.graphics.drawRoundRect(0, 0, 80, 18, 10, 10);
            sendBtn.graphics.endFill();
            sendBtn.addEventListener(MouseEvent.CLICK, clickHandler);
            addChild(sendBtn);

            output = new TextField();
            output.y = 25;
            output.width = 450;
            output.height = 325;
            output.multiline = true;
            output.wordWrap = true;
            output.border = true;
            output.text = "Initializing...\n";
            addChild(output);

            if (ExternalInterface.available) {
                try {
                    output.appendText("Adding callback...\n");
                    ExternalInterface.addCallback("sendToActionScript", receivedFromJavaScript);
                    if (checkJavaScriptReady()) {
                        output.appendText("JavaScript is ready.\n");
                    } else {
                        output.appendText("JavaScript is not ready, creating timer.\n");
                        var readyTimer:Timer = new Timer(100, 0);
                        readyTimer.addEventListener(TimerEvent.TIMER, timerHandler);
                        readyTimer.start();
                    }
                } catch (error:SecurityError) {
                    output.appendText("A SecurityError occurred: " + error.message + "\n");
                } catch (error:Error) {
                    output.appendText("An Error occurred: " + error.message + "\n");
                }
            } else {
                output.appendText("External interface is not available for this container.");
            }
        }
        private function receivedFromJavaScript(value:String):void {
            output.appendText("JavaScript says: " + value + "\n");
        }
        private function checkJavaScriptReady():Boolean {
            var isReady:Boolean = ExternalInterface.call("isReady");
            return isReady;
        }
        private function timerHandler(event:TimerEvent):void {
            output.appendText("Checking JavaScript status...\n");
            var isReady:Boolean = checkJavaScriptReady();
            if (isReady) {
                output.appendText("JavaScript is ready.\n");
                Timer(event.target).stop();
            }
        }
        private function clickHandler(event:MouseEvent):void {
            if (ExternalInterface.available) {
                ExternalInterface.call("sendToJavaScript", input.text);
            }
        }
    }
}


</codeblock> Чтобы проверить предыдущий код ActionScript, внедрите созданный SWF-файл с использованием следующего шаблона HTML:
 <codeblock rev="2.0" xml:space="preserve" class="+ topic/pre pr-d/codeblock ">
 &lt;!-- saved from url=(0014)about:internet -->
 &lt;html lang="en">
 &lt;head>
 &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 &lt;title>ExternalInterfaceExample&lt;/title>
 &lt;script language="JavaScript">
     var jsReady = false;
     function isReady() {
         return jsReady;
     }
     function pageInit() {
         jsReady = true;
         document.forms["form1"].output.value += "\n" + "JavaScript is ready.\n";
     }
     function thisMovie(movieName) {
         if (navigator.appName.indexOf("Microsoft") != -1) {
             return window[movieName];
         } else {
             return document[movieName];
         }
     }
     function sendToActionScript(value) {
         thisMovie("ExternalInterfaceExample").sendToActionScript(value);
     }
     function sendToJavaScript(value) {
         document.forms["form1"].output.value += "ActionScript says: " + value + "\n";
     }
 &lt;/script>
 &lt;/head>
 &lt;body onload="pageInit();">
 
     &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
             id="ExternalInterfaceExample" width="500" height="375"
             codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
         &lt;param name="movie" value="ExternalInterfaceExample.swf" />
         &lt;param name="quality" value="high" />
         &lt;param name="bgcolor" value="#869ca7" />
         &lt;param name="allowScriptAccess" value="sameDomain" />
         &lt;embed src="ExternalInterfaceExample.swf" quality="high" bgcolor="#869ca7"
             width="500" height="375" name="ExternalInterfaceExample" align="middle"
             play="true" loop="false" quality="high" allowScriptAccess="sameDomain"
             type="application/x-shockwave-flash"
             pluginspage="http://www.macromedia.com/go/getflashplayer">
         &lt;/embed>
     &lt;/object>
 
     &lt;form name="form1" onsubmit="return false;">
         &lt;input type="text" name="input" value="" />
         &lt;input type="button" value="Send" onclick="sendToActionScript(this.form.input.value);" />&lt;br />
         &lt;textarea cols="60" rows="20" name="output" readonly="true">Initializing...&lt;/textarea>
     &lt;/form>
 
 &lt;/body>
 &lt;/html>
 </codeblock>
</example></apiClassifierDetail><related-links class="- topic/related-links "><link href="../../flash/system/package.html#fscommand()" class="- topic/link "><linktext class="- topic/linktext ">fscommand()</linktext></link></related-links><apiOperation id="flash.external:ExternalInterface:addCallback" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiOperation/apiOperation "><apiName class="- topic/title reference/title apiRef/apiName ">addCallback</apiName><shortdesc class="- topic/shortdesc ">
     Регистрирует метод ActionScript, как вызываемый из контейнера.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="Flash" version="9" class="+ topic/ph adobe-api-d/apiPlatform "/><apiPlatform description="" name="Lite" version="4" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata></prolog><apiOperationDetail class="- topic/body reference/refbody apiRef/apiDetail apiOperation/apiOperationDetail "><apiOperationDef class="- topic/section reference/section apiRef/apiDef apiOperation/apiOperationDef "><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiStatic class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiStatic "/><apiException class="+ topic/ph reference/ph apiRef/apiDefItem apiOperation/apiEvent adobe-api-d/apiException "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Контейнер не поддерживает входящие вызовы. Поддержка входящих вызовов присутствует только в браузере Internet Explorer для Windows и браузерах, использующих NPRuntime API, например Mozilla версии 1.7.5 или новее и Firefox версии 1.0 или новее.
     
     </apiDesc><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">Error</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">Error</apiOperationClassifier></apiException><apiException class="+ topic/ph reference/ph apiRef/apiDefItem apiOperation/apiEvent adobe-api-d/apiException "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">В ActionScript ответный вызов добавлен в изолированную программную среду безопасности с закрытым доступом, поэтому перезаписать данный ответный вызов невозможно. Для решения этой проблемы перепишите ActionScript так, чтобы вместо вызова метода <codeph class="+ topic/ph pr-d/codeph ">addCallback()</codeph> вызывался метод <codeph class="+ topic/ph pr-d/codeph ">Security.allowDomain()</codeph>.
     
     </apiDesc><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">SecurityError</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">SecurityError</apiOperationClassifier></apiException><apiException class="+ topic/ph reference/ph apiRef/apiDefItem apiOperation/apiEvent adobe-api-d/apiException "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Окружение, в котором содержится элемент, принадлежит изолированной программной среде, к которой у вызывающего кода доступа нет. Для решения этой проблемы следуйте приведенным ниже инструкциям:
     
     <ol class="- topic/ol "><li class="- topic/li ">В теге <codeph class="+ topic/ph pr-d/codeph ">object</codeph> SWF-файла на странице HTML настройте следующий параметр:
     
      <p class="- topic/p "><codeph class="+ topic/ph pr-d/codeph ">&lt;param name="allowScriptAccess" value="always" /></codeph></p>
     
      </li><li class="- topic/li ">Добавьте в SWF-файл следующий ActionScript:
     
      <p class="- topic/p "><codeph class="+ topic/ph pr-d/codeph ">flash.system.Security.allowDomain(<i class="+ topic/ph hi-d/i ">sourceDomain</i>)</codeph></p>
     
      </li></ol>
     
      
      </apiDesc><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">SecurityError</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">SecurityError</apiOperationClassifier></apiException><apiReturn class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiReturn "><apiType value="void" name="type" class="- topic/state reference/state apiRef/apiType "/></apiReturn><apiParam class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiParam "><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">functionName</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">String</apiOperationClassifier><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Имя, по которому контейнер может осуществить вызов функции.
     </apiDesc></apiParam><apiParam class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiParam "><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">closure</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">Function</apiOperationClassifier><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Вызываемое завершение функции. Это может быть как независимая функция, так и метод завершения, который ссылается на метод экземпляра объекта. Передав завершение метода, можно направить обратный вызов методу определенного экземпляра объекта.
                    <p class="- topic/p "><b class="+ topic/ph hi-d/b ">Примечание.</b> Повтор метода <codeph class="+ topic/ph pr-d/codeph ">addCallback()</codeph> для существующей функции обратного вызова с значением закрытия <codeph class="+ topic/ph pr-d/codeph ">null</codeph> удаляет обратный вызов.</p>
     
     
     </apiDesc></apiParam></apiOperationDef><apiDesc class="- topic/section reference/section apiRef/apiDesc ">
     Регистрирует метод ActionScript, как вызываемый из контейнера. После успешного вызова метода <codeph class="+ topic/ph pr-d/codeph ">addCallBack()</codeph> содержащимся в контейнере кодом JavaScript или ActiveX можно осуществить вызов зарегистрированной в проигрывателе функции.
     
     <p class="- topic/p "><b class="+ topic/ph hi-d/b ">Примечание.</b> Для <i class="+ topic/ph hi-d/i ">локального</i> содержимого, запущенного в браузере, вызов метода <codeph class="+ topic/ph pr-d/codeph ">ExternalInterface.addCallback()</codeph> работает только тогда, когда файл и содержащая его web-страница находятся в локальной достоверной изолированной среде. Для получения дополнительной информации см. раздел центра разработчиков Flash Player <xref href="http://www.adobe.com/go/devnet_security_ru" scope="external" class="- topic/xref ">Безопасность</xref>.</p>
     
     </apiDesc></apiOperationDetail><related-links class="- topic/related-links "><link href="flash.system.xml#Security/allowDomain()" class="- topic/link "><linktext class="- topic/linktext ">flash.system.Security.allowDomain()</linktext></link></related-links></apiOperation><apiOperation id="flash.external:ExternalInterface:call" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiOperation/apiOperation "><apiName class="- topic/title reference/title apiRef/apiName ">call</apiName><shortdesc class="- topic/shortdesc "> 
     Вызывает функцию, предоставляемую контейнером SWF, передавая нуль или более аргументов.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="Flash" version="9" class="+ topic/ph adobe-api-d/apiPlatform "/><apiPlatform description="" name="Lite" version="4" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata><asCustoms class="+ topic/metadata adobe-api-d/asCustoms "><internal>Should probably provide a link for the 4th paragraph above for info on Netscape.
     
     </internal></asCustoms></prolog><apiOperationDetail class="- topic/body reference/refbody apiRef/apiDetail apiOperation/apiOperationDetail "><apiOperationDef class="- topic/section reference/section apiRef/apiDef apiOperation/apiOperationDef "><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiStatic class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiStatic "/><apiException class="+ topic/ph reference/ph apiRef/apiDefItem apiOperation/apiEvent adobe-api-d/apiException "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Контейнер не поддерживает исходящие вызовы. Поддержка исходящих вызовов присутствует только в браузере Internet Explorer для Windows и браузерах, использующих NPRuntime API, например Mozilla версии 1.7.5 или новее и Firefox версии 1.0 или новее.
     
     </apiDesc><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">Error</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">Error</apiOperationClassifier></apiException><apiException class="+ topic/ph reference/ph apiRef/apiDefItem apiOperation/apiEvent adobe-api-d/apiException "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Окружение, в котором содержится элемент, принадлежит изолированной программной среде, к которой у вызывающего кода доступа нет. Для решения этой проблемы следуйте приведенным ниже инструкциям:
     
     <ol class="- topic/ol "><li class="- topic/li ">В теге <codeph class="+ topic/ph pr-d/codeph ">object</codeph> SWF-файла на странице HTML настройте следующий параметр:
     
      <p class="- topic/p "><codeph class="+ topic/ph pr-d/codeph ">&lt;param name="allowScriptAccess" value="always" /></codeph></p>
     
      </li><li class="- topic/li ">Добавьте в SWF-файл следующий ActionScript:
     
      <p class="- topic/p "><codeph class="+ topic/ph pr-d/codeph ">flash.system.Security.allowDomain(<i class="+ topic/ph hi-d/i ">sourceDomain</i>)</codeph></p>
     
      </li></ol>
	 </apiDesc><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">SecurityError</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">SecurityError</apiOperationClassifier></apiException><apiReturn class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiReturn "><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Ответ, полученный от контейнера. Если вызов функции не удался (такой функции в контейнере не существует, интерфейс недоступен, возникла рекурсия (при использовании браузера Netscape или Opera), реакция системы безопасности), возвращается <codeph class="+ topic/ph pr-d/codeph ">null</codeph> и появляется сообщение об ошибке.
     
     </apiDesc><apiType value="any" name="type" class="- topic/state reference/state apiRef/apiType "/></apiReturn><apiParam class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiParam "><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">functionName</apiItemName><apiOperationClassifier class="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiOperationClassifier ">String</apiOperationClassifier><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Символьное имя вызываемой функции в контейнере. Использование имени функции, не содержащего буквенно-цифровые символы, является причиной ошибки этапа выполнения (ошибка 2155). Можно использовать блок <codeph class="+ topic/ph pr-d/codeph ">try..catch</codeph> для обработки ошибки.
     </apiDesc></apiParam><apiParam class="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiParam "><apiItemName class="- topic/keyword reference/keyword apiRef/apiItemName ">arguments</apiItemName><apiType value="restParam" name="type" class="- topic/state reference/state apiRef/apiType "/><apiDesc class="- topic/section reference/section apiRef/apiDesc ">Аргументы, передаваемые функции в контейнере. Можно указать 0 или несколько параметров, разделенных запятой. Они могут принадлежать любому типу данных ActionScript. При обращении к функции JavaScript типы данных ActionScript автоматически преобразуются в типы данных JavaScript. При обращении к какому-либо другому контейнеру параметры кодируются в сообщении запроса.
      
     </apiDesc></apiParam><apiTipTexts><apiTipText class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiTipText ">Вызывает функцию контейнера.
     
     </apiTipText></apiTipTexts></apiOperationDef><apiDesc class="- topic/section reference/section apiRef/apiDesc "> 
     Вызывает функцию, предоставляемую контейнером SWF, передавая нуль или более аргументов. При вызове недоступной функции возвращается значение <codeph class="+ topic/ph pr-d/codeph ">null</codeph>; в противном случае, значение данной функции. В браузерах Opera и Netscape рекурсия <i class="+ topic/ph hi-d/i ">запрещена</i>, поэтому рекурсивный вызов в данных браузера возвращает <codeph class="+ topic/ph pr-d/codeph ">null</codeph>. (В Internet Explorer и Firefox рекурсия поддерживается.)
     
     <p class="- topic/p ">Если в качестве контейнера выступает страница HTML, данный метод производит вызов функции JavaScript в элементе <codeph class="+ topic/ph pr-d/codeph ">script</codeph>.</p>
     
     <p class="- topic/p ">Если в качестве контейнера выступает другой контейнер ActiveX, данный метод отправляет событие FlashCall ActiveX с заданным именем, и контейнер обрабатывает данное событие.</p>
     
     <p class="- topic/p ">Если в контейнере содержится подключаемый модуль Netscape, можно запрограммировать пользовательскую поддержку нового интерфейса NPRuntime или внедрить управление HTML и встроить проигрыватель туда. После внедрения управления HTML можно осуществлять управление проигрывателем через интерфейс JavaScript собственного контейнера приложения.</p>
     
     <p class="- topic/p "><b class="+ topic/ph hi-d/b ">Примечание.</b> Для <i class="+ topic/ph hi-d/i ">локального</i> содержимого, запущенного в браузере, вызов метода <codeph class="+ topic/ph pr-d/codeph ">ExternalInterface.call()</codeph> работает только тогда, когда файл и содержащая его web-страница (при ее наличии) находятся в локальной доверенной изолированной среде. Вдобавок, чтобы SWF-файл не использовал этот метод, настройте параметр <codeph class="+ topic/ph pr-d/codeph ">allowNetworking</codeph> тегов <codeph class="+ topic/ph pr-d/codeph ">object</codeph> и <codeph class="+ topic/ph pr-d/codeph ">embed</codeph> HTML-страницы с SWF-содержимым. Для получения дополнительной информации см. раздел центра разработчиков Flash Player <xref href="http://www.adobe.com/go/devnet_security_ru" scope="external" class="- topic/xref ">Безопасность</xref>.</p>
     
     
     <p class="- topic/p "><b class="+ topic/ph hi-d/b ">Примечание для программ Flash Player.</b> В Flash Player 10 и Flash Player 9 Update 5 некоторые браузеры запрещают этот метод, если включена блокировка всплывающих окон. В таком случае этот метод можно успешно вызвать только в ответ на пользовательское событие (например, в обработчике событий щелчка мыши или нажатия клавиши).</p>
     
     </apiDesc><example conref="examples\ExternalInterface_call_alert.as" class="- topic/example "> В следующем примере демонстрируется использование класса ExternalInterface (flash.external.ExternalInterface) для отправки строки из Flash Player в контейнер HTML, где она отображается с помощью функции alert() кода JavaScript. Пример предоставлен <xref href="http://actionscriptexamples.com/2008/02/28/using-the-externalinterface-class-in-actionscript-20-and-actionscript-30/" scope="_mmexternal" class="- topic/xref ">ActionScriptExamples.com</xref>. 
<codeblock xml:space="preserve" class="+ topic/pre pr-d/codeblock ">
//
// Requires:
//   - A Flash Professional Label component on the Stage with an instance name of "lbl".
//   - A Flash Professional Button component on the Stage with an instance name of "button".
//
var xmlResponse:String = "&lt;invoke name=\"isReady\" returntype=\"xml\">&lt;arguments>&lt;number>1&lt;/number>&lt;number>" + stage.stageWidth + "&lt;/number>&lt;number>" + stage.stageHeight + "&lt;/number>&lt;/arguments>&lt;/invoke>";
 
lbl.text = "ExternalInterface.available: " + ExternalInterface.available;
lbl.width = 200;
button.enabled = ExternalInterface.available;
button.addEventListener(MouseEvent.CLICK, button_click);
 
function button_click(evt:MouseEvent):void {
    ExternalInterface.call("alert", xmlResponse);
}
</codeblock></example></apiOperationDetail></apiOperation><apiValue id="flash.external:ExternalInterface:marshallExceptions" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiValue/apiValue "><apiName class="- topic/title reference/title apiRef/apiName ">marshallExceptions</apiName><shortdesc class="- topic/shortdesc ">
     Определяет, будет ли внешний интерфейс пытаться обойти исключения ActionScript для текущего браузера и исключения JavaScript для проигрывателя.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="Flash" version="9.0.115.0" class="+ topic/ph adobe-api-d/apiPlatform "/><apiPlatform description="" name="Lite" version="4" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata></prolog><apiValueDetail class="- topic/body reference/refbody apiRef/apiDetail apiValue/apiValueDetail "><apiValueDef class="- topic/section reference/section apiRef/apiDef apiValue/apiValueDef "><apiProperty class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiProperty "/><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiStatic class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiStatic "/><apiData class="- topic/ph reference/ph apiRef/apiData ">false</apiData><apiValueClassifier class="- topic/xref reference/xref apiRef/apiRelation apiValue/apiValueClassifier ">Boolean</apiValueClassifier><apiTipTexts><apiTipText class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiTipText ">Обходит исключения между ActionScript и JavaScript.     
     </apiTipText></apiTipTexts></apiValueDef><apiDesc class="- topic/section reference/section apiRef/apiDesc ">
     Определяет, будет ли внешний интерфейс пытаться обойти исключения ActionScript для текущего браузера и исключения JavaScript для проигрывателя. Для выявления исключений JavaScript в ActionScript и наоборот следует присвоить данному свойству значение <codeph class="+ topic/ph pr-d/codeph ">true</codeph> в явном виде.
     
     </apiDesc><example conref="examples\ExternalInterface.marshallExceptions.1.as" class="- topic/example "> В данном примере создается функция ActionScript, которая регистрируется в содержащем ее браузере с помощью метода <codeph class="+ topic/ph pr-d/codeph ">addCallback()</codeph>. Новая функция приводит к исключению, а запущенный в браузере код JavaScript выявляет его. В данном примере также содержится оператор <codeph class="+ topic/ph pr-d/codeph ">try..catch</codeph> для выявления исключений браузера при вызове функции <codeph class="+ topic/ph pr-d/codeph ">throwit()</codeph>.
<codeblock xml:space="preserve" class="+ topic/pre pr-d/codeblock ">

package
{
    import flash.external.*
    import flash.net.*;
    import flash.display.*;
    import flash.system.System;
    public class ext_test extends Sprite {
    function ext_test():void {
        ExternalInterface.marshallExceptions = true;
        ExternalInterface.addCallback("g", g);

        try {
        ExternalInterface.call("throwit");
        } catch(e:Error) {
        trace(e)
        }
    }
    function g() { throw new Error("exception from actionscript!!!!") }
    }
}
</codeblock></example></apiValueDetail><related-links class="- topic/related-links "><link href="flash.external.xml#ExternalInterface/addCallBack()" class="- topic/link "><linktext class="- topic/linktext ">addCallBack()</linktext></link><link href="../../statements.html#try..catch..finally" class="- topic/link "><linktext class="- topic/linktext ">try..catch.. finally</linktext></link></related-links></apiValue><apiValue id="flash.external:ExternalInterface:available:get" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiValue/apiValue "><apiName class="- topic/title reference/title apiRef/apiName ">available</apiName><shortdesc class="- topic/shortdesc ">
     Определяет, является ли этот проигрыватель контейнером, обеспечивающим работу внешнего интерфейса.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="Flash" version="9" class="+ topic/ph adobe-api-d/apiPlatform "/><apiPlatform description="" name="Lite" version="4" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata></prolog><apiValueDetail class="- topic/body reference/refbody apiRef/apiDetail apiValue/apiValueDetail "><apiValueDef class="- topic/section reference/section apiRef/apiDef apiValue/apiValueDef "><apiProperty class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiProperty "/><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiStatic class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiStatic "/><apiValueAccess value="read" class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiValueAccess "/><apiValueClassifier class="- topic/xref reference/xref apiRef/apiRelation apiValue/apiValueClassifier ">Boolean</apiValueClassifier><apiTipTexts><apiTipText class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiTipText ">Определяет, находится ли проигрыватель в контейнере, обеспечивающем работу внешнего интерфейса.
     
     </apiTipText></apiTipTexts></apiValueDef><apiDesc class="- topic/section reference/section apiRef/apiDesc ">
     Определяет, является ли этот проигрыватель контейнером, обеспечивающим работу внешнего интерфейса. Если внешний интерфейс доступен, свойство принимает значение <codeph class="+ topic/ph pr-d/codeph ">true</codeph>; в противном случае — <codeph class="+ topic/ph pr-d/codeph ">false</codeph>.
     
     <p class="- topic/p "><b class="+ topic/ph hi-d/b ">Примечание.</b> При использовании External API с HTML следует всегда дожидаться окончания загрузки HTML перед тем, как вызывать методы JavaScript.</p>
     
     </apiDesc><example class="- topic/example ">В следующем примере для определения, поддерживает ли проигрыватель внешний интерфейс, используется свойство <codeph class="+ topic/ph pr-d/codeph ">available</codeph>.
     <codeblock rev="3.0" xml:space="preserve" class="+ topic/pre pr-d/codeblock ">
     package {
       import flash.text.TextField;
       import flash.display.MovieClip;
       import flash.external.ExternalInterface;
     
       public class extint_test extends MovieClip {
         public function extint_test() {
           var isAvailable:Boolean = ExternalInterface.available;
           var availTxt:TextField = new TextField();
           availTxt.text = isAvailable.toString();
           addChild(availTxt);
         }
       }
     }
     </codeblock>
     
      
      </example></apiValueDetail></apiValue><apiValue id="flash.external:ExternalInterface:objectID:get" ditaarch:DITAArchVersion="1.0" domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                              (topic ut-d) (topic pr-d api-d)" class="- topic/topic reference/reference apiRef/apiRef apiValue/apiValue "><apiName class="- topic/title reference/title apiRef/apiName ">objectID</apiName><shortdesc class="- topic/shortdesc ">
     Возвращает атрибут id тега object в Internet Explorer или атрибут name тега embed в Netscape.</shortdesc><prolog class="- topic/prolog "><asMetadata class="+ topic/metadata adobe-api-d/asMetadata "><apiVersion class="+ topic/ph adobe-api-d/apiVersion "><apiLanguage version="3.0" class="+ topic/ph adobe-api-d/apiLanguage "/><apiPlatform description="" name="Flash" version="9" class="+ topic/ph adobe-api-d/apiPlatform "/><apiPlatform description="" name="Lite" version="4" class="+ topic/ph adobe-api-d/apiPlatform "/></apiVersion></asMetadata></prolog><apiValueDetail class="- topic/body reference/refbody apiRef/apiDetail apiValue/apiValueDetail "><apiValueDef class="- topic/section reference/section apiRef/apiDef apiValue/apiValueDef "><apiProperty class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiProperty "/><apiAccess value="public" class="- topic/state reference/state apiRef/apiQualifier adobe-api-d/apiAccess "/><apiStatic class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiStatic "/><apiValueAccess value="read" class="+ topic/state reference/state apiRef/apiQualifier adobe-api-d/apiValueAccess "/><apiValueClassifier class="- topic/xref reference/xref apiRef/apiRelation apiValue/apiValueClassifier ">String</apiValueClassifier></apiValueDef><apiDesc class="- topic/section reference/section apiRef/apiDesc ">
     Возвращает атрибут <codeph class="+ topic/ph pr-d/codeph ">id</codeph> тега <codeph class="+ topic/ph pr-d/codeph ">object</codeph> в Internet Explorer или атрибут <codeph class="+ topic/ph pr-d/codeph ">name</codeph> тега <codeph class="+ topic/ph pr-d/codeph ">embed</codeph> в Netscape.
     </apiDesc></apiValueDetail></apiValue></apiClassifier></apiPackage>