Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.01.2013, 21:00
StasHappy вне форума Посмотреть профиль Отправить личное сообщение для StasHappy Найти все сообщения от StasHappy
  № 1  
Ответить с цитированием
StasHappy

Регистрация: Jan 2013
Сообщений: 40
По умолчанию Прием GET параметра

Вечер добрый друзья.

Сразу скажу, особыми знаниями в ActionScript не блещу.
Имеется ссылка:

"http://www.site.ru/user=StasHappy"

Как можно взять содержимое Get параметра user и вставить вот сюда:

Код AS3:
var request:URLRequest = new URLRequest(СЮДА);
Где-то читал, что можно воспользоваться классом URLLoader. Пытался разобраться с ним сам, так ничего и не понял...

Делаю внешний прелоадер, который:
1. Берет ссылку из GET параметра
2. Отображает прогресс загрузки
3. По окончинии, загружает в себя принятый swf файл.

Старый 16.01.2013, 21:14
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 2  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
Не, не, не. С URLLoader+URLRequest можно отправить GET или POST cgi-скрипту и получить от него ответ.
Делается примерно так:
Код AS3:
            var url:String = "http://www.[yourDomain].com/application.jsp";
            var request:URLRequest = new URLRequest(url);
 
            var variables:URLVariables = new URLVariables();
            variables.exampleSessionId = new Date().getTime();
            variables.exampleUserLabel = "guest";
            request.data = variables;
            request.method = URLRequestMethod.POST;
 
            var urlLoader:URLLoader = new URLLoader();
            urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
            urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
            urlLoader.load(request);
 
function urlLoader_complete(evt:Event):void {
    lbl.text = urlLoader.data.lastName + "," + urlLoader.data.firstName;
    addChild(lbl);
}
А тебе, как я понимаю, нужно взять с открытой страницы браузера параметры, которые были переданы странице с помощью метода GET, и использовать их дальше в своей флешке?
__________________
мой пустой блог

Старый 16.01.2013, 21:23
StasHappy вне форума Посмотреть профиль Отправить личное сообщение для StasHappy Найти все сообщения от StasHappy
  № 3  
Ответить с цитированием
StasHappy

Регистрация: Jan 2013
Сообщений: 40
Цитата:
А тебе, как я понимаю, нужно взять с открытой страницы браузера параметры,
То есть с адресной строки.. Нет, чуть чуть не так. В интернете нашел урок, по вставке Flash ролика на страницу. Цитирую:
Цитата:
Вставка флеш на сайт методом Flash Satay
Код:
<object type="application/x-shockwave-flash" data="loader.swf?path=myContent.swf" width="280" height="600"/> 
<param name="movie" value="/banners/simply.swf" />  
<p>Альтернативное содержимое</p> 
</object>
Стоит отметить, что для большинства флеш приложений так или иначе нужно использовать прелоадер. В данном слечае путь к загружаемому файлу передается через атрибут data и Get-переменную → data="loader.swf?path=myContent.swf", можно передавать путь и другими способами, например, через FlashVars
Прелоадеру(loader.swf) передается параметр patch. Вот с этого все и пошло у меня. Единственное, нужно как то выдернуть переменную patch и использовать ее в коде прелоадера.

Добавлено через 19 минут
За пример, огромное спасибо. Очень рад что помогли.

То есть, вот тут мы прописываем домен:
Код AS3:
var url:String = "http://www.[yourDomain].com/application.jsp";
А здесь прописываем GET параметр:
Код AS3:
variables.exampleUserLabel = "guest";
Правильно все понял?


Последний раз редактировалось StasHappy; 16.01.2013 в 21:44.
Старый 16.01.2013, 21:57
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 4  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Сообщение от StasHappy Посмотреть сообщение
Единственное, нужно как то выдернуть переменную patch и использовать ее в коде прелоадера.
В вашем прелоадере
Код AS3:
var url:String = loaderInfo.parameters.path;
Добавлено через 1 минуту
Для почитать
http://help.adobe.com/ru_RU/FlashPla...tml#loaderInfo
http://help.adobe.com/ru_RU/FlashPla...tml#parameters
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 17.01.2013, 01:42
StasHappy вне форума Посмотреть профиль Отправить личное сообщение для StasHappy Найти все сообщения от StasHappy
  № 5  
Ответить с цитированием
StasHappy

Регистрация: Jan 2013
Сообщений: 40
Ребят. По правде говоря, у меня ничего не получается. Может кто-нибудь потратит чуть своего времени и напишет мне код? А то чувствую, сам не справлюсь... Можно было бы конечно изучить Flash технологии, но ради одного прелоадера... думаю не стоит.
Эх, жалко. Вечер пролетел впустую...

Старый 17.01.2013, 02:02
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 6  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Покажите код? Alatar вам прально написал.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 17.01.2013, 02:31
StasHappy вне форума Посмотреть профиль Отправить личное сообщение для StasHappy Найти все сообщения от StasHappy
  № 7  
Ответить с цитированием
StasHappy

Регистрация: Jan 2013
Сообщений: 40
Код(первый кадр):

Код AS3:
var ldr:Loader = new Loader();
var url:String = loaderInfo.parameters.path;
if(url!=null) {
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,swf_loaded);
ldr.load(new URLRequest(url));
 
function swf_loaded(e:Event):void{
	nextFrame();
	}
}
stop();
Второй кадр:
Код AS3:
addChild(ldr);

Что если вот так попробовать?

Добавлено через 1 час 40 минут
Ребят. Вроде что-то вышло у меня. Единственное, если указать в переменной path , несуществующий файл(ссылку), выходит вот такая ошибка:
Error #2044: Необработанный IOErrorEvent:. text=Error #2036: Загрузка не завершена.
Можно ли поставить какую либо проверку, на этот счет. Скажем, если загрузка прошла с ошибкой, делаем stop().

Старый 17.01.2013, 04:19
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 8  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Подпишитесь на IOErrorEvent и обрабатывайте.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 17.01.2013, 04:25
StasHappy вне форума Посмотреть профиль Отправить личное сообщение для StasHappy Найти все сообщения от StasHappy
  № 9  
Ответить с цитированием
StasHappy

Регистрация: Jan 2013
Сообщений: 40
Цитата:
Подпишитесь на IOErrorEvent и обрабатывайте.
Добавил эти строки:

Код AS3:
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,swf_error);
 
function swf_error(e:Event) {
	removeEventListener(Event.COMPLETE,swf_loaded);
}
Добавлено через 1 час 8 минут
Еще один ньюнс.
Некоторые flash'ки, вызывают ошибку:
SecurityError: Error #2070: Нарушение изолированной среды: вызывающий объект...итд.

На одном сайте, посоветовали прописать вот это:
Код AS3:
Security.allowDomain("*");
А вот куда прописать, не подметили. Есть идеи?

Старый 17.01.2013, 09:51
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 10  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Одна тема - один вопрос.
Прописать в загружаемую флешку, этим она как бы говорит - что берите меня, кто хотите.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:51.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.