выполнение функции по url
Всем привет!
Общем у меня следующая проблема Мне нужно передать параметры в javascript через get-url Мы находимся на странице site.ru/page нажимаем на ссылку и переходим на site.ru/page?modal=true&page=me.html при этом выполняется функция modal() - она уже готова мы можем смело добавить страницу в закладки, а потом опять зайти - и о чудо, загрузилась страница, а сверху над ней модалка(так же работает просмотр картинок ВКонтакте) причем как Вы видите мне нужно НЕ ЧЕРЕЗ ЯКОРЬ как так сделать? :help: |
Цитата:
|
общем понял как получить 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" но решение своей проблемы не нашел =( |
danik.js,
Все просто, якорь хранится в window.location.hash Ну а дальше собственно стандартные условия... if (window.location.hash == "modal"){ modal(); } else if(..) ... если перейти по site.ru/page#modal выполнится функция modal() |
мне еще предлогали вот так
var url = window.location.search.split('?')[1]; if (url == 'modal=true') { modal(me.html); }; мне не лень пошуглить, я вреале не знаю и к сожелению очень уг в javascript, я работаю с 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') alert(get('page')); </script> когда зайти site.ru/page?modal=true выдает пустой алерт а когда site.ru/page?modal=true&page или site.ru/page?modal=true&page=test алерта нет? |
Цитата:
<script> <? if (набор нужных тебе условий) echo 'modal()' ?> </script> |
Цитата:
<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> |
Часовой пояс GMT +3, время: 12:37. |