我在与Android API相关的Android移动设备上看到一个奇怪的问题。我运行了一些代码来使用history.pushState
更新页面网址,然后检查window.location.href
的值。我希望href
的值等于我刚刚推送的值,但它仍然具有前一个值。当我检查浏览器URL栏时,位置已正确更新。此代码重现了该问题:
function go(){
console.log(window.location.href); // this shows url of '.../page1.html'
window.history.pushState({}, '', './page2.html');
console.log(window.location.href); // this still shows url of '.../page1.html'
// browser address bar shows url of '.../page2.html'
}
我在默认的Android 2.3.4浏览器上看到了这个问题,当我在桌面浏览器中运行相同的代码时,它的行为与我预期的一样(即window.location.href
具有我推送的值) - 任何人都可以确认这是一个浏览器错误,而不是预期的行为?