Как передать значение по ссылке на другую страницу сайта
Лучше объяснить вопрос на примере:
На одной странице сайта - список адресов магазинов организации, у каждого магазина есть рядом ссылка "показать на карте". При нажатии на эту ссылку попадаешь на другую страницу сайта, где динамически подгружается карта с меткой на ней местонахождения данного магазина, например yandex map. Для того чтобы подгрузилась карта с местонахождением именно этого магазина, нужно передать параметр данного магазина на страницу карты. Как это можно сделать средствами JS - передать значение переменной с одной страницы сайта на другую, минуя сервер и используя только клиентскую часть. Вроде задача простая, но что-то не смог ничего найти на эту тему. Заранее извиняюсь, если вопрос окажется банальным - недавно начал программировать на JS. Хотя мне кажется здесь не все так просто. |
Как я понимаю - нужно парсить строку адреса, и оттуда доставать нужное значение параметра.
Ссылка типа: site.ru/map?target=some_address Как парсить - не знаю. Полагаю регуляркой. Насколько я знаю в js нет средств работы с параметрами query строки... Вообще решение топорное. Нужно в любом случае обрабатывать запрос на сервере. Либо разместить список адресов на странице с картой |
Если сервер никак не обрабатывает запрос, зачем перезагружать страницу? Просто показывайте карту, скрыв всё ненужное.
|
Цитата:
Сейчас появилась идея засунуть это значение в куки, а потом со страницы карты эту куки прочитать, после прочтения куки удалить. Но тоже не совсем красиво, так как куки к тому же работает тоже через сервер. А еще как вариант, откопал такую интересную вещь, как объект: window.localStorage (http://habrahabr.ru/blogs/ie/63704/) Объект довольно свежий, спецификации HTML5, поэтому будут проблемы со браузерами не самых последних версий. Может кто-нибудь еще какую-нибудь идейку подкинет. |
Все
1) Обрабатывать запрос сервером. Какие тут могуть быть проблемы? 2) Показывать все на одной странице. Скрипты карты можно динамически подключать. Во фреймворках такие функции есть (Assets в mootoos например). Удобно для пользователя. 3) Вытягивать на странице карты нужный параметр из location.href. Во всю разит неадекватностью. 4) Юзать cookie, localStorage и прочие весчи. Верх неадекватности. |
Цитата:
1) Обрабатывать запрос сервером: Проблема простая: пока не хватает знаний. Я так понимаю здесь пахнет PHP, а я к этому языку еще не приближался вообще. Только изучение в ближайших планах. 2) Показывать все на одной странице. В будущем хочу попробовать модальные окна через jQuery 3) Вытягивать на странице карты нужный параметр из location.href: Этим неадекватным путем я и пошел. Просто уже до этого сделал две готовые страницы и хотел их связать по-быстрому. Но получилось не так быстро. Пример реализации: http://lombard-korona.ru/lombard/contact/default.html 4) Юзать cookie, localStorage и прочие весчи. Верх неадекватности: Согласен. Вообщем задачу пока решил, хотя и кривовато. Всем спасибо. |
Еще один вариант: как правило, юзер-агенты передают адрес страницы, с которой был совершен переход.
alert('Вы перешли на эту страницу с ' + document.referrer) |
Я извиняюсь, но совсем понял, как в эту ссылку параметр засунуть: хотя переход на другую страницу со страницы источника будет из разных тегов данной страницы, но ссылка страницы источника (document.referrer) будет одна и та же.
|
Часовой пояс GMT +3, время: 08:34. |