Присвоение переменной в динамической презентации

Обсуждение работы системы JetSwap. Общий форум для всех вопросов, для которых не создано отдельных форумов.
Аватара пользователя
leny1984
Сообщения: 220
Зарегистрирован: 30 окт 2010, 20:31

Присвоение переменной в динамической презентации

Непрочитанное сообщение leny1984 »

Ситуация такая. Есть динамическая презентация, в которой в зависимости от страницы браузера, например site1.ru и site2.ru, нужно делать разные действия. подробней... Если открылся site1.ru нужно делать один блок команд если site2.ru, то другой блок команд.
Не знаю как прописать это в динамической презентации.
пробовал вот так

команда 1
команда 2

var page=window.location.href;

if(page=='site1.ru') {
команда 3
команда 4
}
if (page=='site2.ru'){
команда 5
команда 6
команда 7
}

команда 8
и т.д....

- не работает(( Выполняются команды которые идут до var page=window.location.href;


Надеюсь понятно объяснил суть.
Подскажите пожалуйста как это сделать?
Спасибо!


Аватара пользователя
leny1984
Сообщения: 220
Зарегистрирован: 30 окт 2010, 20:31

Re: Присвоение переменной в динамической презентации

Непрочитанное сообщение leny1984 »

promot писал(а):И не будет, т.к. ни одно условие не верно. Откройте для себя indexOf
Вы имеете ввиду, что я написал site1.ru а не http://site1.ru? Это то я понимаю, просто так написал. Но дело то в том, что презентация выполняет только те команды, которые идут перед var page=window.location.href;. После команды не выполняются, даже не выводятся в журнал программы тестирования.

Аватара пользователя
Support
Служба поддержки
Сообщения: 4553
Зарегистрирован: 08 фев 2009, 19:24
Откуда: JetSwap
Контактная информация:

Re: Присвоение переменной в динамической презентации

Непрочитанное сообщение Support »

Если это все записано в одном скрипте, а открытую страницу следует проверять только после выполнения первых двух команд, то это неудивительно, ведь скрипт выполняется весь сразу.

Соответственно нужно создать команду вставки скрипта, которая будет отрабатывать после первых двух команд, затем уже вставлять остальные команды при необходимости.

Ну и кроме того, следует все-таки проверить точные адреса страниц, поскольку:
promot писал(а):И не будет, т.к. ни одно условие не верно. Откройте для себя indexOf
С уважением, Служба поддержки.
http://www.jetswap.com

promot
Сообщения: 164
Зарегистрирован: 06 май 2011, 09:26

Re: Присвоение переменной в динамической презентации

Непрочитанное сообщение promot »

Я имею ввиду, что адрес, возвращенный window.location.href, может быть совсем не тот, что вы ожидаете и его искать нужно по неизменяемой части. К тому же некоторые символы кодируются в формате URL как %XX и неизвестно, что там в window.location.href будет. Попробуйте его в лог вывести.

Аватара пользователя
leny1984
Сообщения: 220
Зарегистрирован: 30 окт 2010, 20:31

Re: Присвоение переменной в динамической презентации

Непрочитанное сообщение leny1984 »

Никто так и не помог мне

Можно было бы сделать так, но не работает:

var cmdname="script";
var cmdtime=2;
var cmdparam="alert('prs::<get(key)>::setvar::page='+window.location.href";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);

if(<getvar(page)>=='http://site1.ru'){
//тут какие-то команды
}
else if(<getvar(page)>=='http://site2.ru'){
//тут какие-то команды
}
для проверки пробовал воспользоваться следующим скриптом. С числовыми переменными он работает, но со строковыми не работает:

var a=0;
var v=prompt("prs::" + prskey + "::"+a);

if(v==0){
// команды
}

else if(v==1){
// команды
}

Подскажите пожалуйста, как присвоить переменной значение javascript-a, в динамической презентации без использования команды setvar?

invergo
Сообщения: 25
Зарегистрирован: 22 окт 2011, 01:34

Re: Присвоение переменной в динамической презентации

Непрочитанное сообщение invergo »

Возможно я не прав, но скрипт работает так

1) вставляем скрипт alert('prs::<get(key)>::setvar::page='+window.location.href(тут пропустил скобку, но проблема не в этом)
2) проверяем условие <getvar(page)> == (не знаю как в js , но т.к. как переменной page нет!!! вернет false) т.е. ни одно из условий не выполнится.
3)присваиваем переменной page window.location.href(т.е. эта команда выполнится после всех)

Поэтому скрипт и не работает. Как проверить( не совсем точно но...): else if замени на else

invergo
Сообщения: 25
Зарегистрирован: 22 окт 2011, 01:34

Re: Присвоение переменной в динамической презентации

Непрочитанное сообщение invergo »

хотя нее.

Такая проверка: после команд

Код: Выделить всё

var cmdname="script";
var cmdtime=2;
var cmdparam="alert('prs::<get(key)>::setvar::page='+window.location.href";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
добавь команду остановки презентации(посмотри в хелпе точно не помню)
и тестировании презентации посмотри на вкладке переменные (есть ли page) .


Условие точно правильное?
window.document.location.href возвращает полный урл со страницей(пример http://mail.ru/regisr.php). Если проверка только по сайту то используй window.document.locatio.hostname, тоже самое и с www.

Аватара пользователя
leny1984
Сообщения: 220
Зарегистрирован: 30 окт 2010, 20:31

Re: Присвоение переменной в динамической презентации

Непрочитанное сообщение leny1984 »

Все я написал правильно, только, как сказал суппорт, весь скрипт выполняется сразу и программа приступает к выполнению. Нужно чтобы команда определения хоста шла как бы последовательно что ли.
А насчет проверки страницы, я проверял, во вкладке переменные действительно есть переменная page и ее значение соответствует одному из условий.
Нужна какая-то команда которая после нужной команды определит урл страницы и потом ее можно будет использовать в условии if-else
Нужно определить урл страницы без использования команды вставки скрипта, а просто одной строчкой, скриптом, который выполнится после нужной команды....

invergo
Сообщения: 25
Зарегистрирован: 22 окт 2011, 01:34

Re: Присвоение переменной в динамической презентации

Непрочитанное сообщение invergo »

а если подгрузить второй скрипт и передать ему переменную page, и во втором скрипте вставить условие
Пример:

Код: Выделить всё

var cmdname="script";
var cmdtime=2;
var cmdparam="alert('prs::<get(key)>::setvar::<dls(http://test.ru/script2.js?page='+window.location.href+')>";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);

Ответить