Меню сайта

Форма входа

Поиск

Календарь

«  Январь 2011  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31

Наш опрос

Нашли то, что искали?
Всего ответов: 186

Друзья сайта

Статистика

Категории раздела

Саша Чёрный [1]
Саша Чёрный
Работа сайта [1]
JavaScript [3]
Полезные скрипты для простых смертных...
Style [1]
Все, что касается графичекого оформления сайта
Иоганн Вольфганг Гете [1]
все что с ним связано
Электронные/цифровые открытки [1]
Проза [1]
Афанасий Афанасьевич Фет [1]
Афанасий Афанасьевич Фет
Андрей Андреевич Вознесенский [1]
Андрей Андреевич Вознесенский(12 мая 1933, Москва — 1 июня 2010[1], Москва)
Иван Алексеевич Бунин [1]
все что касается автора
Flash [1]
Жизнь UCOZ [0]
Все скандальные и не очень событи
Самуил Яковлевич Маршак [2]
Самуил Яковлевич Маршак
Николай Новиков [1]
Иван Андреевич Крылов [1]
Иван Андреевич Крылов
Революционное мышление [1]
Для того, кто стремится к свободе...
Главная » 2011 » Январь » 15 » UCOZ , JavaScript & Flash
05:31
UCOZ , JavaScript & Flash

Вот вам небольшая вариация, на тему: "Kак через flash запустить код JavaScript в системе UCOZ".

Суть вопроса: Мне нужно было создать Flash-меню на сайте, для ссылок: "Регистрация", "Вход", "Выход", "Мой профиль" и т.д.

Только вот JavaScript  у меня почему-то не запускался:


Как же я решила эту задачу СПОСОБ1 (!):

JavaScript не запускается на компьтере из-за политики безопасности, что бы код заработал  Flash нужно залить на сервер .

код для кнопки Вход/Выход:

on(press){javascript("new _uWnd('LF',' ',-250,-110,{autosize:0,closeonesc:1,resize:1},{url:'/index/40'});");}

код для кнопки запускающий окошко "Мой профиль":

on(press){javascript("window.open('http://classical-music.su/index/8','upp','scrollbars=1,top=0,left=0,resizable=1,width=680,height=350');document.location.search='user';");}


Как же я решила эту задачу СПОСОБ2 :

Берем функцию открывающую окно по прямой ссылке:


Code
on(press){getURL('ссылка','способ_раскрытия');}

 
 1. Для ссылки 'Вход' придумываем адрес страницы: http://classical-music.su/?login и вписываем ее в функцию getURL()
В чем тут магия: Берем корневой адрес http://classical-music.su/ и добавляем к нему приставку ?login - данные, которые я передаю в html страницу.

Обратите внимание, когда вы заходите на сайт под своим логином, кнопка "вход" меняется на кнопку "выход", т.е. имеется динамика. Чтобы сохранить во флешевом меню эту динамику я отслеживаю значение переменой $USER_LOGGED_IN$, которая равна единице, если посетитель вошел на сайт под своим логином, и импортирую во флеш:

flashvars.logged = "$USER_LOGGED_IN$";

Теперь совершествуем ссылку, для того, что бы пользователь мог войти с любой страницы(http://..................?login), а не только с главной (http://classical-music.su/), как мы придумали с самого начала.  Для этого импортируем во флешку переменную flashvars.pj_url = document.location.href; , где pj_url имя переменной, а document.location.href - адрес страницы.  

В саму флешку вставляем следующий код: 

on (press) {if(_root.logged == 1){getURL("http://classical-music.su/index/10", "_self");} else {var a:Array=_root.pj_url.split('?login'); getURL(a[0]+'?login','_self');} }

где _root.logged - это переменная flashvars.logged, а  _root.pj_url - это flashvars.pj_url.
 

2. В верхний блок сайта вставляем скрипт, который отслеживает передачу данных в HTML:

Code
 1. var varurl=location.search.substring(1);
 2. if (varurl == 'login') {new _uWnd('LF',' ',-250,-110,{autosize:0,closeonesc:1,resize:1},{url:'/index/40'});}
 3. if (varurl == 'nickname')  {window.open('http://classical-music.su/index/8', 'upp', 'scrollbars=1, top=0, left=0, resizable=1, width=680,height=350');
     document.location.search='user';}

В первой строчке, я присваиваю переменной varurl данные, которые я передаю в html страницу : "login" или 'nickname'. Делаю это по средствам JavaScript : location.search.substring(1); А вторая звучит следующим образом: Если переменная varurl равна строковому(!) значению "login", то в этом случае выполнить функцию new _uWnd. Третья строчка звучит аналогично, только добавляется следующий код:

Code
document.location.search='user';

Этот код меняет url: http://classical-music.su/?nickname, который запускает скрипт с окошком "мой профиль", на URL: http://classical-music.su/?user, чтобы при обновлении страницы, скрипт повторно не запускался.

Как же я решила эту задачу СПОСОБ3:
Если вставить flash через форму <object>, и добавить к ссылке на flash объект (имя.swf) приставку

Code
?var=$LOGIN_LINK$
 (да, это все та же передача данных в html)т.е.
Code
имя.swf?var=$LOGIN_LINK$

То при клике на сам flash объект будет срабатывать скрипт (почему так происходит - не знаю, это свойство я нашла для сбя полезным).Результат трудов можно посмотреть на сайте - верхнее меню http://classical-music.su/

 Чтобы понять то, что я тут написала необходимо прочитать:

1. Статья о том, как правильно вставить Flash объект

2. Статья о том, как передать и извлечь данные html страницы по средствам JavaScript

3. Cтатья о том, как сделать flash динамичным

4. Статья о том, как изменить параметр URL при помощи JavaScript

Автор статьи puprickalu

Категория: JavaScript | Просмотров: 1216 | Добавил: Dragon | Теги: javascript, uCoz, url, flash | Рейтинг: 5.0/1
Всего комментариев: 2
1 Андрей  
0
Спасибо огромное! Статья хорошая. Очень полезна для флеш сайтов. +100!

2 Dragon  
0
И Вам спасибо за комментарий! Рада что статья принесла кому-то пользу wink

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]



ВНИМАНИЕ!
Весь материал на сате предоставлен исключительно для ознакомления, без цели коммерческого использования!
Права относительно материала принадлежат их законным правообладателям!
Любое копирование и распространение материала с данного ресурса запрещено!
Пожалуйста, если Вам что-то понравилось из представленного материала на сайте,купите это в магазине.