2015-10-14 1 views
1

Я пытаюсь изменить URL-адрес страницы, не перезагружая страницу. Если я пытаюсь это в консоли URL-адрес меняется:Изменить URL-адрес, не перезагружая страницу

if (localStorage.getItem('product') !== null) { 
    storedVariable = localStorage.getItem('product'); 
    url = window.location.href; 
    url += '?product=' + storedVariable; 
} 
window.history.pushState("", "", url); 

Однако, когда я ставлю этот код менеджера тегов Google URL-адрес моей страницы по умолчанию. Как я могу это исправить?

+0

http://stackoverflow.com/a/12446376 – Piggy

ответ

0

Может быть связан с: mdn History_API

PushState() принимает три параметра: объект состояния, заголовок (который в настоящее время игнорируется) и (необязательно) URL. Давайте рассмотрим каждый из этих трех параметров более подробно:

  • состояния объекта - состояние объекта является объектом JavaScript, который связан с новой записью истории, созданной PushState(). Всякий раз, когда пользователь переходит в новое состояние, запускается событие popstate, а свойство состояния события содержит копию объекта состояния записи истории.

    Объект состояния может быть любым, что может быть сериализовано. Поскольку Firefox сохраняет объекты состояния на диск пользователя, поэтому их можно восстановить после перезапуска браузера, мы накладываем ограничение размера на 640 тыс. Символов в сериализованном представлении объекта состояния. Если вы передадите объект состояния, сериализованное представление которого больше, чем pushState(), метод будет генерировать исключение. Если вам нужно больше места, чем это, вам рекомендуется использовать sessionStorage и/или localStorage.

+0

К сожалению, я не знаю, Google менеджер тегов, но, может быть, предоставляя напрямую URL к нему? – Anonymous0day