history.pushState和window.location.href不同步

时间:2012-09-03 10:42:26

标签: javascript android mobile browser-history

我在与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具有我推送的值) - 任何人都可以确认这是一个浏览器错误,而不是预期的行为?

1 个答案:

答案 0 :(得分:1)