Выбрать главу

Синтаксис:

function functionname ([argument0, argument1,...argumentN]){ statement(s)}function ([argument0, argument1,...argumentN]){ statement(s)}

Аргументы:

Используйте оператор return в теле функции statement(s), чтобы заставить функцию возвратить какое-либо значение.

Вариант использования номер раз: Определяем function с определенными functionname, arguments, и statement(s). Во время вызова имени функции, на самом деле вызывается описание этой функции с нужными параметрами. Разрешен вызов функции до того, как она определена в Action list, то есть функция может быть объявлена после того, как к ней обратились.

Вариант использования номер два: Создаем безыменную функцию и возвращаем ее. Такой вариант используется в выражениях, кроме того, он частично полезен при создании методов в объектах. Вариант 1) В следующем примере создается функция sqr, которая принимает один аргумент (число), возвращая его квадрат. Обратите внимание, что в этом скрипте объявление функции стоит после ее вызова.

y=sqr(3);function sqr(x) { return x*x;}

(Вариант 2) Следующий пример создает объект Окружность (Circle):

function Circle(radius) { this.radius = radius;}

А здесь создается безымянная функция, которая считает площадь круга и присоединяет ее значение, как метод, объекту Окружность (Circle):

Circle.prototype.area = function () { return Math.PI * this.radius * this.radius}

Совместимость:

Используется с 5-ой версии Flash

getURL - Переход на веб-страницу

getURL

(Глобальная функция)

Загружает документ с указанного адреса (URL) в окно, или передает переменные другому приложению по URL (выполняет сценарии на стороне сервера), либо генерирует событие Macromedia Director.

Синтаксис:

getURL(URL)getURL(URL, window)getURL(URL, window, method)

Аргументы:

Описание:

Функция getURL() используется для того, чтобы:

Чтобы загрузить документ в текущее окно или фрейм, просто укажите URL документа, не передавая аргументы window или method. Естественно, Flash поддерживает абсолютные URL (такие, в которых указаны протокол, например, "http:", а также имя сервера или аппаратного устройства) и относительные URL (те, которые заданы относительно текущего адреса):

// Абсолютный URL веб-страницыgetURL("http://spravkaweb.ru/");// Абсолютный URL локального файлаgetURL("file:///f:/www/example.html");// Относительный URL, предполагается протокол httpgetURL("/resource/resource.html");

Чтобы загрузить документ в окно или фрейм, имеющие имя, укажите это имя в качестве аргумента window:

// Загрузить в именованный фреймgetURL("http://spravkaweb.ru/", "myFrame");// Загрузить в именованное окноgetURL("http://spravkaweb.ru/", "myWindow");

Чтобы заменить набор фреймов, в котором содержится текущий фильм, дайте аргументу window заначение "_parent":

getURL("http://spravkaweb.ru/", "_parent");

Чтобы заменить загружаемым документом все наборы фреймов на странице, дайте аргументу window значение "_top":

getURL("http://spravkaweb.ru/", "_top");

Чтобы открыть загружаемый документ в новом анонимном окне браузера, дайте аргументу window значение "_blank":

getURL("http://spravkaweb.ru/", "_blank");

Нужно отметить, что открытие нового окна с помощью "_blank" лишает нас всякого контроля над внешним видом нового окна (размером, конфигурацией панелей управления, местонахождением и т.д.). Чтобы открывать настраиваемые окна с помощью getURL(), нужно вызвать на содержащей фильм странице функцию JavaScript.

С помощью функции getURL() можно также посылать переменные удаленным приложениям или сценариям на сервере. Чтобы передать переменные текущей временной диаграммы во внешний сценарий, нужно указать имя сценария в качестве аргумента URL и задать "GET" или "POST" в качестве значения аргумента method:

getURL("http://spravkaweb.ru/php.php", "_blank", "GET");

При вызове в качестве метода клипа getURL() посылает переменные временной диаграммы этого клипа:

// Передает переменные myClip в example.phpmyClip.getURL("http://spravkaweb.ru/example.php", "_blank", "GET");

Результаты выполнения сценария появятся в окне или фрейме, указанных в аргументе window (который необходимо задавать при передаче переменных).

Чтобы загрузить результаты выполнения сценария в текущие фрейм или окно, нужно задать в качестве аргумента window значение "_self":

getURL("http://spravkaweb.ru/", "_self", "GET");

Если значением аргумента method является "GET", переменные временной диаграммы текущего клипа посылаются в виде строки запроса, присоединенной к URL сценария в запросе HTTP GET. Строки запросов состоят из пар имя/значение, разделяемых амперандами (&):

getURL("http://www.mysite.ru/example.php?ss=2&pl=34", "_self");

Если аргумент method содержит "POST", переменные временной диаграммы текущего клипа посылаются сценарию в виде отдельного блока данных после заголовка запроса HTTP POST (так же, как в обычной форме HTML, использующей метод POST). Обратите внимание, что "POST" недоступен в автономном Flash Player.

Поскольку для большинства веб-серверов максимальная допустимая длина URL лежит между 255 и 1024 символами, при передаче больших объемов данных используйте "POST", а не "GET".

Надо отметить, что любые данные, возвращаемые сценарием, который вызван getURL(), выводятся как обычное веб-содержание в браузере, а не во Flash. Чтобы получить результаты выполнения сценария во Flash, используйте loadVariables().

Функция getURL() может применяться и с другими протоколами помимо "http:".

Протоколы, поддерживаемые getURL

Как показывает вышеприведенная таблица, если принадлежность Flash импортируется в файл Macromedia Director, с помощью getURL() можно генерировать события Lingo или выполнять команды Lingo. (Lingo - это язык сценариев в Director, аналогичный ActionScript).

Например, можно добавить событие кадра такого вида:

getURL("event: eventName params");

что приведет к вызову в Director обработчика события Lingo с именем on eventName.Вот команда getURL(), генерирующая событие с именем "myEvent" и передающая ему строку "A". Обратите внимание на преобразование символа с помощью:

// Отправить событие в DirectorgetURL("event: myEvent "A"");

Вот обработчик события Lingo sprite, который должен быть прикреплен к спрайту Flash в Director, чтобы получить событие. Заметим, что спрайт в Director примерно соответствует экземпляру клипа во Flash; ключевое слово Lingo put родственно команде ActionScript trace(), а && в Lingo является оператором конкатенации строк: