Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изменить текущий урл при клике на ссылку (https://javascript.ru/forum/misc/78504-izmenit-tekushhijj-url-pri-klike-na-ssylku.html)

Leon2110 23.09.2019 12:37

Изменить текущий урл при клике на ссылку
 
Добрый день, задача такая, на сайте есть много страниц и есть кнопка с версией для слабовидящих, когда я на нее нажимаю, в текущий урл добавляется гет ?template=accessibility
http://site.ru/index.php/press-centr/novosti?template=accessibility

А внутри версии для слабовидящих есть кнопка, которая возвращает назад, при клике на нее, урл должен поменяться на текущий урл + новый гет (если был старый гет, его убираем и ставим новый):
http://site.ru/index.php/press-centr/novosti?template=jsn_nuru_free

есть мысли как это сделать? в идеале если коротко, типа в onclick="" засунуть эту смену?
сейчас у меня так, работает со второго раза, при первом клике убирается гет и просто обновляется страница, а при втором подставляется новый гет и переходит внормальную версию (если старого гет небыло, то сразу становится новый и переходит в нормальную версию с первого раза). Надо бы чтобы в любом случае, с первого раза работало.

<a href="#" onclick="window.location.href='?template=jsn_nuru_free'"> Полная версия</a>

Aetae 23.09.2019 14:29

window.location.search='?template=jsn_nuru_free'

Leon2110 07.10.2019 16:20

Извиняюсь за задерку, но вроде все так же работает(( Вот живой пример, для наглядности, я открыл сайт, перешел в версию для слабовидящих и видно, что в конец ссылке добавилось ?template=accessibility - этот гет нужен, чтобы сказать движку, что надо переключиться на шаблон версии для слабовидящих :
proc.bkobr.ru/index.php/press-centr/novosti?template=accessibility

Теперь жму, кнопку "полная версия" с ссылкой
<a href="#" onclick="window.location.search='?template=leon'"> Полная версия</a>


Сайт остается на версии для слабовидящих, а ссылка меняется на
proc.bkobr.ru/index.php/press-centr/novosti#

При повтором клике на кнопку "Полная версия" все отрабатывает как надо и ссылка меняется на :
proc.bkobr.ru/index.php/press-centr/novosti?template=leon#

рони 08.10.2019 17:43

Leon2110,
а так?
<a href="#" onclick="event.preventDefault();window.location.search='?template=leon';"> Полная версия</a>

Malleys 08.10.2019 23:07

Leon2110, рони, кукуха поехала? Зачем такие мощные костыли? Вот, всё просто делается по спецификации...
<a href="?template=leon">Полная версия</a>

рони 09.10.2019 11:16

Цитата:

Сообщение от Malleys
кукуха поехала?

может в ученики возьмёте?

Malleys 10.10.2019 13:04

Цитата:

Сообщение от рони
может в ученики возьмёте?

Это очень крутая шутка, учитывая, что у вас +8888 уровень, а у меня даже до +888 не дотягивает! Я думаю, что вы хорошо разбираетесь в веб-направлении! Если мне что-то не понятно, то я открываю спецификацию, и сразу узнаю о всех возможностях. Уроки на тему могут быть познавательны, но в них упоминаются не все тонкости... Могут не упоминаться!

UPD Просто я ленивый в отношении моторных способностей по чрезмерному печатанию текстов... KISS, DRY, а то при WET и дублировании я начинаю тратить много времени, чтобы исправлять одно и тоже. Зачем обёртка из 102 <div>, когда можно обойтись одним <canvas>! Зачем 13 переменных, когда есть массивы! Зачем массовая замена текста в проекте, когда можно завести понятие config! И т. д.

Я не из тех, кто упорно делает AJAX-запросы, потому что если вы исследуете запрос на стороне сервера (а вдруг вы не умеете это делать на стороне клиента!), то вы поймёте, почему над этим хихикают программисты на C# или Java... Почему это так сложно понять, что это на самом деле GET-запрос, или POST-запрос!

рони 10.10.2019 13:10

Malleys,
:( :( :( А я так ждал, надеялся и верил ...

j0hnik 10.10.2019 16:47

рони,
занести надо, я так понял :yes:


Часовой пояс GMT +3, время: 09:48.