Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.03.2015, 18:08
Аспирант
Отправить личное сообщение для Dark Surv Посмотреть профиль Найти все сообщения от Dark Surv
 
Регистрация: 16.03.2015
Сообщений: 43

выполнение функции по url
Всем привет!
Общем у меня следующая проблема

Мне нужно передать параметры в javascript через get-url
Мы находимся на странице site.ru/page
нажимаем на ссылку и переходим на site.ru/page?modal=true&page=me.html
при этом выполняется функция modal() - она уже готова
мы можем смело добавить страницу в закладки,
а потом опять зайти - и о чудо, загрузилась страница,
а сверху над ней модалка(так же работает просмотр картинок ВКонтакте)
причем как Вы видите мне нужно НЕ ЧЕРЕЗ ЯКОРЬ
как так сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 16.03.2015, 18:36
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Dark Surv
НЕ ЧЕРЕЗ ЯКОРЬ
Сделай сначала через якорь. Как сделаешь - подходи сюда, мы тебе переделаем под query параметры.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2015, 18:37
Аспирант
Отправить личное сообщение для Dark Surv Посмотреть профиль Найти все сообщения от Dark Surv
 
Регистрация: 16.03.2015
Сообщений: 43

общем понял как получить url параметр с помощью js
function getGet(name) {
	var s = window.location.search;
	s = s.match(new RegExp(name + '=([^&=]+)'));
	return s ? s[1] : false;
}

alert(getGet('tab'));

Для урла site.ru/page?tab=test выведет "test"

но решение своей проблемы не нашел =(
Ответить с цитированием
  #4 (permalink)  
Старый 16.03.2015, 18:41
Аспирант
Отправить личное сообщение для Dark Surv Посмотреть профиль Найти все сообщения от Dark Surv
 
Регистрация: 16.03.2015
Сообщений: 43

danik.js,
Все просто, якорь хранится в
window.location.hash

Ну а дальше собственно стандартные условия...
if (window.location.hash == "modal"){
   modal();
}
else if(..) ...

если перейти по site.ru/page#modal
выполнится функция modal()
Ответить с цитированием
  #5 (permalink)  
Старый 16.03.2015, 18:50
Аспирант
Отправить личное сообщение для Dark Surv Посмотреть профиль Найти все сообщения от Dark Surv
 
Регистрация: 16.03.2015
Сообщений: 43

мне еще предлогали вот так
var url = window.location.search.split('?')[1]; 
if (url == 'modal=true') { 
    modal(me.html); 
};

мне не лень пошуглить, я вреале не знаю
и к сожелению очень уг в javascript, я работаю с php
с жабоскриптами минимальные знания
Ответить с цитированием
  #6 (permalink)  
Старый 16.03.2015, 20:13
Аспирант
Отправить личное сообщение для Dark Surv Посмотреть профиль Найти все сообщения от Dark Surv
 
Регистрация: 16.03.2015
Сообщений: 43

а почему не работает
<script> 
function get(n){  
a=window.location.toString();  
a="&"+a.substring(a.indexOf("?")+1); 
p=a.indexOf("&"+n+"=");  
a=p==-1?'':a.substring(p+n.length+2);  
return a.indexOf("&")>=0?a.substring(0,a.indexOf("&")):a;
}

var url = window.location.search.split('?')[1]; 
if (url == 'modal=true') alert(get('page')); 
</script>


когда зайти site.ru/page?modal=true выдает пустой алерт
а когда site.ru/page?modal=true&page или site.ru/page?modal=true&page=test
алерта нет?
Ответить с цитированием
  #7 (permalink)  
Старый 17.03.2015, 05:45
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Dark Surv
и к сожелению очень уг в javascript, я работаю с php
Ну так ты и сделай на php!
<script>
<? if (набор нужных тебе условий) echo 'modal()' ?>
</script>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 17.03.2015, 09:45
Аспирант
Отправить личное сообщение для Dark Surv Посмотреть профиль Найти все сообщения от Dark Surv
 
Регистрация: 16.03.2015
Сообщений: 43

Сообщение от danik.js
Ну так ты и сделай на php!
я уже разобрался без Вас, но всеравно спасибо!
<script> 
function get(n){  
a=window.location.toString();  
a="&"+a.substring(a.indexOf("?")+1); 
p=a.indexOf("&"+n+"=");  
a=p==-1?'':a.substring(p+n.length+2);  
return a.indexOf("&")>=0?a.substring(0,a.indexOf("&")):a;
}

var url = window.location.search.split('?')[1]; 
if (url == 'modal=true') {
					$.arcticmodal({
						type: 'ajax',
						url: getParam('page'),
					});
}; 
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery выполнение функции при условии. gameviktor Angular.js 1 28.01.2014 18:13
onclick прервать выполнение функции wgt Events/DOM/Window 4 30.04.2013 20:52
вызов функции при смене url vvsh Events/DOM/Window 4 11.08.2011 19:01
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 21:11
Прерывается выполнение функции при смене аргумента mikser763 Общие вопросы Javascript 1 11.10.2010 16:36