изменить URL или строку запроса без перезагрузки с помощью плагина jquery - PullRequest
2 голосов
/ 06 мая 2010

Я хочу изменить URL или строку запроса без перезагрузки страницы ...

Я использовал плагин QUERY STRING OBJECT для jquery

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

Теперь я могу изменить URL, используя код

window.location.href =  $.query.set('aid', a_id);

но для перезагрузки страницы ...

и этот код не имеет никакого эффекта

 var newUrl =  $.query.set('aid', a_id);

Как можно обойтись без перезагрузки страницы ...

как мне обойтись без перезагрузки страницы ...

Спасибо
Прадют
Индия

Ответы [ 4 ]

7 голосов
/ 06 мая 2010

Вы не можете изменить строку запроса без перезагрузки страницы.

3 голосов
/ 13 мая 2010

Я получил решение ...

изменить строку запроса после #

вы можете получить и установить строку запроса, используя javascript

location.hash = 'something=anything'

Спасибо
Прадют
Индия

2 голосов
/ 09 октября 2013

Если вы просто хотите изменить хэш, ваше одобренное решение может работать нормально. Однако для изменения запроса вам нужно будет использовать history.pushState. Однако он работает только в веб-браузерах с API истории HTML5.

if (history.pushState) {
    var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '?myNewUrlQuery=1';
    window.history.pushState({path:newurl},'',newurl);
}

Я проверял, и все работало нормально. Он не перезагружает страницу, но позволяет только изменить URL-запрос. Вы не сможете изменить протокол или значения хоста.

Для получения дополнительной информации:

http://diveintohtml5.info/history.html

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history

0 голосов
/ 30 сентября 2010

Еще одним решением, которое может оказаться полезным, является плагин BBQ для jQuery. Вот пример: http://benalman.com/code/projects/jquery-bbq/examples/fragment-basic/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...