| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > ActionScript 1,2 > Текущий URL |
| Автор: korob2001 3.12.2006, 13:29 | ||||
| Привет! Подскажите пожалуйста, как узнать текущий url, т.е. тот который прописан в адресной строке браузера? Это мне нужно для того, что бы переключать языки с одного на другой. Т.е. в каждую HTML страницу, встроен .swf файл, с флажками двух языков, в моём случае это "Французский" и "Нидерландский". Сама страница генерируется на сервере Perl программой. Для того, что бы изменить язык, нужно изменить значение параметра lang с "nl" на "fr", который передаётся методом GET. Допустим пользователь загрузил страницу "Home", с параметром "lang=nl", набрав в адресной строке:
Затем он жмёт на французский флаг, в итоге должен получиться такой адрес:
После чего вся информация страницы, будет переведена на французский язык. Первод делается при помощи Perl + MySQL + XML, потому это не имеет отношения непосредственно к Flash и ActionScript. Задача последнего только изменить значение одного параметра и загрузить туже страницу, которая загружена в текущий момент, но уже с изменённым параметром lang. В случае, показаном выше, был послан запрос к программе /cgi-bin/home.pl, но это может быть и другая программа, например /cgi-bin/contact.pl, /cgi-bin/guest.pl и т.д. Текущий URL мне нужен для того, что бы загрузить перевод именно текущей страницы, а не какой-нить другой. Нужно что-то типа переменной окружения $ENV{SCRIPT_NAME}. |
| Автор: AlDev 3.12.2006, 14:04 |
| trace (_root.url); а вообще на эту тему http://noregret.org/tutor/navigation/ Добавлено @ 14:05 В строке браузера - через JS. Читай Нокса, там решение |
| Автор: korob2001 4.12.2006, 19:13 | ||||
Что-то ничего не пойму.
Пишет undefined. Создаю динамическое текстовое поле с именем info, после пишу такой код:
Поле всё равно остаётся пустым, после запуска. |
| Автор: AlDev 4.12.2006, 21:55 |
| ну может быть _url =) я не помню, посмотри MovieClip class |
| Автор: korob2001 4.12.2006, 23:22 | ||||
Не, не то. Выводит следующий адрес:
А нужен был:
т.е. то который был в адресной строке браузера. Ладно, сейчас ещё попробую поискать, может чего-нить и нарою. |
| Автор: korob2001 5.12.2006, 21:12 | ||||||
Да нет, я просто думал что есть, что-то встроенное. Просто лучше чем взаимодействовать через JS, я могу просто передать Flash'ке ещё один параметр. Например так:
где параметр pag содержит адрес страницы, которая в данный момент показана. Вот кстати каким образом я решил этот вопрос, а так же http://forum.vingrad.ru/topic-125304.html, если их объединить. Сначала почитал вот эту http://blog.deconcept.com/swfobject/, которую привёл SelenIT. Попробовал, но меня смутил размер файла http://blog.deconcept.com/swfobject/swfobject1-4.zip, казалось бы для такой простой задачи. Да и не любитель я юзать чужой код. Решил пойти своим путём. Что-то мне подсказало, что достаточно вынести код, который выводит теги <object ...> .... </object> в оддельный файл .js, что бы IE не заметил их. Написал такой код:
После чего сохранил его в файл myswf.js Затем в HTML странице пишу такой код, что бы подключить файл myswf.js и использовать функцию shSWFile().
Здесь так же следует обрать внимание на параметр pag, в котором передаётся текущий URL во Flash фильм. В итоге две проблемы решены: 1: IE отстебался со своей защитой, без использования, достаточно большого, swfobject.js 2: Flash знает текущий url каждой страницы, без взаимодействия с JS. Всем ОГРОМНОЕ СПАСИБО и + за помощь. PS: Можно было бы передавать ещё несколько аргументов функции JavaScript shSWFile(), например: classid, quality, version и т.п. ,но это помоему уже лишнее, для данной задачи. Хотя может я и не прав? |
| Автор: AlDev 6.12.2006, 09:04 |
| открой например вот это: http://z3labs.com/projects/nn/ там хоть и без swf object, но показан пример с языком и навигацией, когда Flash не перегружается! Про не любитель юзать чужой код - эт глупо |
| Автор: korob2001 6.12.2006, 10:48 | ||
А как же велосипеды?
Да нет, это не то. Там флешка на всю страницу и иниформации там маловато. У меня на Flash только верхушка и меню, всё остальное html + CSS + JavaScript. Информации намного больше, её тащитPerl из БД + XML + шаблоны, да и меняется она динамически. |
| Автор: AlDev 6.12.2006, 21:25 |
| А. Если только шапка тады да. А как же Framework-и? |