Справочник по Flash : ActionScript : Basic Actions : getURL - Переход на веб-страницу

смотрим также

Материал из Справочник Web-языков

Перейти к: навигация, поиск



getURL

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

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

Синтаксис:

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

Аргументы:

URL
Адрес (URL), задающий абсолютное или относительное местоположение документа, который нужно загрузить, или внешнего сценария, который нужно выполнить.
window
Необязательный аргумент, определяющий окно или фрейм (frame) в HTML, куда должен быть помещен документ. Укажите здесь имя окна/фрейма, либо укажите одно из зарезервированных слов:
  • _self - указывает на то же окно/тот же фрейм, откуда вызывается функция.
  • _blank - указывает на новое окно.
  • _parent - указывает на родительское по отношению к текущему окно.
  • _top - указывает на самый верхний фрейм в окне.
method
Необязательный аргумент, указывающий на метод, которым надо пересылать переменные. Если переменные передавать не надо, пропустите этот аргумент, иначе укажите, использовать метод GET или POST. GET добавляет имена переменных вместе со значениями в конец URL, и обычно используется для небольшого количества (и небольшого суммарного объема имен+значений) переменных. POST посылает переменные в отдельном заголовке HTTP и используется для передачи длинных строк или больших по объему данных.

Описание:

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

  • Загрузить документ (обычно веб-страницы) в фрейм или окно браузера;
  • Выполнить сценарий на стороне сервера и получить результат во фрейм или окно браузера;
  • Выполнить код JavaScript в веб-браузере;
  • Генерировать событие из составляющих Flash, импортированных в Director как спрайты;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

getURL("https://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

Протокол Формат Назначение
event "event:eventName params" Послать событие в Director, если принадлежность Flash является спрайтом Director.
file "file:///driveSpec/forder/filename" Обратиться к локальному файлу.
ftp "ftp://server.domain.ru/forder/filename" Обратиться к удаленному файлу по FTP (протокол передачи файлов).
http "https://server.domain.ru/forder/filename" Обратиться к удаленному файлу по HTTP (протокол передачи гипертекста).
javascript "javascript: command" Выполнить в браузере команду JavaScript.
lingo "lingo: comand" Выполнить команду Lingo, если принадлежность Flash является спрайтом Director.
print "print:", "targetClip" Вывод во Flash 4, до появления функции print() во Flash 5.
vbscript "vbscript: command" Выполнить в браузере команду VBScript.

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

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

getURL("event: eventName params");

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

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

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

on myEvent msg
	put "The message received from Flash was " && msg
end

Можно также спровоцировать запуск Lingo из спрайта Flash в Director с помощью ключевого слова "lingo:":

// Пусть Director даст звуковой сигнал
getURL("lingo: beep");

Наконец, с помощью getURL() можно выполнять код JavaScript. Вызовем простую функцию alter JavaScript с помощью getURL():

getURL("javascript: alter("Hello world");");

Примеры:

Далее приведен стандартный код кнопки со ссылкой на веб-страницу:

on(release) {
	getURL("https://www.spravkaweb.ru/");
}

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

Используется со 2-ей версии Flash. В 4-ой версии усилена добавлением параметра method.

Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="https://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования