Я работаю над некоторым кодом javascript и используя window.History.pushState
для загрузки новых страниц HTML
вместо использования тегов href
. Мой код (который работает нормально) выглядит следующим образом.
window.History.pushState({urlPath:'/page1'},"",'/page1')
странно, этот не работает, то есть перезагружает браузер
window.History.pushState({urlPath:'/page2.php'},"",'/page2.php')
Но это работает, контент обновляется, браузер не обновляется! (обратите внимание, что URL-адрес является абсолютным и не относительным)
window.History.pushState({urlPath:'www.domain.com/page2.php'},"",'www.domain.com/page2.php')
В документации для window.History.pushState
указано, что третий URL-адрес параметра может быть абсолютным или относительным -
URL. Новый URL-адрес записи истории задается этим параметром. Заметка что браузер не будет пытаться загрузить этот URL-адрес после вызова pushState(), но может попытаться загрузить URL позже, например после перезапуска пользователя. Новый URL не обязательно должен быть абсолютный; если он относительный, он разрешен относительно текущего URL-адреса. Новый URL-адрес должен иметь тот же источник, что и текущий URL; в противном случае, pushState() выдает исключение. Этот параметр является необязательным; если он не указан, он устанавливает текущий URL-адрес документа.
Абсолютные URL-адреса, похоже, работают, но относительный, похоже, не так. Почему это происходит?