В пакете flash.net package содержатся функции уровня пакета для открытия в обозревателе нового окна, отправки URL-запроса серверу, а также функции для работы с псевдонимами классов.
Общедоступные методы
 ФункцияОпределено
  
Выполняет поиск класса, у которого ранее был псевдоним, зарегистрированный через вызов метода registerClassAlias().
flash.net
  
navigateToURL(request:URLRequest, window:String = null):void
Открывает или заменяет окно в приложении, которое содержит контейнер Flash Player (обычно обозреватель ).
flash.net
  
registerClassAlias(aliasName:String, classObject:Class):void
Сохраняет класс (тип) объекта при шифровании объекта в формат AMF.
flash.net
  
Отправляет URL-запрос на сервер, но игнорирует ответ.
flash.net
Сведения о функции
getClassByAlias()функция
public function getClassByAlias(aliasName:String):Class

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Выполняет поиск класса, у которого ранее был псевдоним, зарегистрированный через вызов метода registerClassAlias().

Данный метод не взаимодействует с методом flash.utils.getDefinitionByName().

Параметры

aliasName:String — Искомый псевдоним.

Возвращает
Class — Класс, связанный с данным псевдонимом. Если не будет найдено, будет создано исключение.

Выдает
ReferenceError — Псевдоним не был зарегистрирован.

См. также

navigateToURL()функция 
public function navigateToURL(request:URLRequest, window:String = null):void

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Открывает или заменяет окно в приложении, которое содержит контейнер Flash Player (обычно обозреватель ).

Примечание. Для локального содержимого, запущенного в обозревателе, вызовы метода navigateToURL(), указывающие псевдо-протокол javascript: (с помощью объекта URLRequest, переданного в качестве первого параметра), допустимы только в том случае, если SWF-файл и рассматриваемая веб-страница (при наличии таковой) находятся в локальной доверенной изолированной среде. В некоторых обозревателях не поддерживается применение протокола javascript с методом navigateToURL(). Вместо этого следует использовать метод call() API-интерфейса ExternalInterface, чтобы вызвать методы JavaScript в рамках закрытой HTML-страницы.

Нельзя подключаться к общепринятым зарезервированным портам. Полный список заблокированных портов см. в разделе "Ограничение сетевых API-интерфейсов" в главе "Безопасность" книги Программирование на ActionScript 3.0.

Дополнительные сведения о безопасности см. в следующих ресурсах.

Параметры

request:URLRequest — Объект URLRequest, указывающий URL-адрес, на который необходимо перейти.
 
window:String (default = null) — Окно обозревателя или HTML-фрейм, в котором будет отображаться документ, указанный в параметре request. Вы можете ввести имя определенного окна или использовать одно из следующих значений:
  • _self указывает текущий фрейм в текущем окне.
  • _blank определяет новое окно.
  • _parent указывает родительский объект текущего фрейма.
  • _top указывает фрейм самого верхнего уровня в текущем окне.

Если не будет указано значение для данного параметра, то будет создано новое пустое окно. В автономном проигрывателе можно указать новое окно (_blank) или определенное окно с именем. Другие значения не применяются.

Примечание. Когда код в SWF-файле, запущенном в изолированной среде "local-with-filesystem", вызывает функцию navigateToURL() и указывает специальное имя окна для параметра window, имя окна преобразуется в случайное имя. Имя представлено в формате _flashXXXXXXXX, где каждый X представляет случайную шестнадцатеричную цифру. Если в рамках одного сеанса (до закрытия используемого окна обозревателя) вы снова вызовете эту функцию и определите то же самое имя для параметра window, будет использована та же случайно выбранная строка.


Выдает
SecurityError — Данная ошибка отображается в следующих ситуациях:
  • Локальные ненадежные SWF-файлы могут быть изолированы от Интернета. Этой ситуации можно избежать, если переклассифицировать данный SWF-файл как "local-with-networking" или доверенный.
  • Операция навигации произвела попытку оценить URL-псевдоадрес создания сценариев, но затронутый документ (HTML-документ в обозревателе) находится в изолированной программной среде, доступ к которой закрыт. Чтобы избежать этой ситуации, укажите allowScriptAccess=always в соответствующем документе.
  • Навигация по специальным окнам _self, _top или _parent невозможна, если ваш SWF-файл содержится на HTML-странице, у которой свойство allowScriptAccess имеет значение none или sameDomain, в то время как домены HTML-файла и SWF-файла не совпадают.
  • Навигация окна с нестандартным именем из SWF-файла, размещенного в изолированной программной среде "local-with-filesystem", запрещена.
  • Нельзя подключаться к общепринятым зарезервированным портам. Полный список заблокированных портов см. в разделе "Ограничение сетевых API-интерфейсов" в главе "Безопасность" книги Программирование на ActionScript 3.0.

См. также


Пример

В следующем примере URL-адрес http://www.adobe.com открывается в новом окне обозревателя, при этом обозревателю передаются данные о сеансе пользователя, извлеченные из объекта URLVariables.
package {
    import flash.display.Sprite;
    import flash.net.navigateToURL;
    import flash.net.URLRequest;
    import flash.net.URLVariables;

    public class NavigateToURLExample extends Sprite {

        public function NavigateToURLExample() {
            var url:String = "http://www.adobe.com";
            var variables:URLVariables = new URLVariables();
            variables.exampleSessionId = new Date().getTime();
            variables.exampleUserLabel = "Your Name";
            var request:URLRequest = new URLRequest(url);
            request.data = variables;
            try {            
                navigateToURL(request);
            }
            catch (e:Error) {
                // handle error here
            }
        }
    }
}
registerClassAlias()функция 
public function registerClassAlias(aliasName:String, classObject:Class):void

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Сохраняет класс (тип) объекта при шифровании объекта в формат AMF. Когда вы кодируете объект в формат AMF, данная функция сохраняет псевдоним для его класса, что позволит при декодировании объекта восстановить нужный класс. Если в контексте кодирования псевдоним для класса объекта не был зарегистрирован, то объект кодируется как анонимный. Аналогичным образом, если в контексте декодирования отсутствует зарегистрированный псевдоним, для декодированных данных создается анонимный объект.

Примерами классов, кодирующих объекты в формат AMF, могут служить LocalConnection, ByteArray, SharedObject, NetConnection и NetStream.

Контекстам кодирования и декодирования не требуется использовать один и тот же класс для псевдонима. Они могут сменить классы при условии, что целевой класс содержит все члены, сериализуемые исходным классом.

Параметры

aliasName:String — Используемый псевдоним.
 
classObject:Class — Класс, связанный с данным псевдонимом.


Выдает
TypeError — Если один из параметров имеет значение null.

См. также


Пример

В данном примере с помощью функции registerClassAlias() регистрируется псевдоним (com.example.eg) для класса ExampleClass. Так как для класса регистрируется нужный псевдоним, объект может быть десериализован как экземпляр ExampleClass, при этом код выдаст значение true. Если бы вызов registerClassAlias() был удален, код бы выдал значение false.
package {
    import flash.display.Sprite;
    import flash.net.registerClassAlias;
    import flash.utils.ByteArray;

    public class RegisterClassAliasExample extends Sprite {
        public function RegisterClassAliasExample() {
            registerClassAlias("com.example.eg", ExampleClass);
            var eg1:ExampleClass = new ExampleClass();
            var ba:ByteArray = new ByteArray();
            ba.writeObject(eg1);
            ba.position = 0;
            var eg2:* = ba.readObject();
            trace(eg2 is ExampleClass); // true
        }
    }
}

class ExampleClass {}
sendToURL()функция 
public function sendToURL(request:URLRequest):void

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Отправляет URL-запрос на сервер, но игнорирует ответ.

Для изучения ответа сервера используйте метод URLLoader.load().

Нельзя подключаться к общепринятым зарезервированным портам. Полный список заблокированных портов см. в разделе "Ограничение сетевых API-интерфейсов" в главе "Безопасность" книги Программирование на ActionScript 3.0.

Можно запретить использование SWF-файлом этого метода путем установки параметра allowNetworking для тегов object и embed на странице HTML, содержащей SWF-содержимое.

Дополнительные сведения о безопасности см. в следующих ресурсах.

Параметры

request:URLRequest — Объект URLRequest, определяющий URL-адрес отправки данных.


Выдает
SecurityError — Локальные ненадежные SWF-файлы изолированы от Интернета. Этой ситуации можно избежать, если переклассифицировать данный SWF-файл как "local-with-networking" или доверенный.
 
SecurityError — Нельзя подключаться к общепринятым зарезервированным портам. Полный список заблокированных портов см. в разделе "Ограничение сетевых API-интерфейсов" в главе "Безопасность" книги Программирование на ActionScript 3.0.

Пример

В следующем примере данные о сеансе пользователя, извлеченные из объекта URLVariables, передаются приложению по адресу http://www.yourDomain.com/application.jsp.
 package {
    import flash.display.Sprite;
    import flash.net.URLRequest;
    import flash.net.URLVariables;
    import flash.net.sendToURL;

    public class SendToURLExample extends Sprite {

        public function SendToURLExample() {
            var url:String = "http://www.yourDomain.com/application.jsp";
            var variables:URLVariables = new URLVariables();
            variables.sessionId = new Date().getTime();
            variables.userLabel = "Your Name";

            var request:URLRequest = new URLRequest(url);
            request.data = variables;
            trace("sendToURL: " + request.url + "?" + request.data);
            try {
                sendToURL(request);
            }
            catch (e:Error) {
                // handle error here
            }
        }
    }
}