履歴APIに関連するAndroidモバイルデバイスで奇妙な問題が発生しています。を使用してページのURLを更新するコードを実行し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'
}
デフォルトのAndroid2.3.4ブラウザーで問題が発生しました。デスクトップブラウザーで同じコードを実行すると、期待どおりに動作します(つまりwindow.location.href
、プッシュした値があります)。これがブラウザーのバグであることを誰もが確認できますか。予想される動作ではなく?