45

ページをリロードせずにURLを変更したい。私が見つけた可能な解決策は

window.history.pushState('page2'、'Title'、'/page2.php');

しかし、Firefox 3.5、IE6 +のような一部のブラウザはこれをサポートしていないので、それらの解決策は

var uri = window.location.href;

しかし、問題は、ブラウザがhistory.pushstateをサポートしているかどうかをどのように発見するかです。

TRY CATCHは、考えられる解決策か、それ以外のものです。

4

1 に答える 1

85
if (history.pushState) {
  // supported.
}

最も簡単なテストは、ブラウザコンソールでこれを実行して、サポートされているかどうかを確認することです。

if (history.pushState) { alert('supported'); }

typeof(history.pushState)また、FFでは「function」を返しますが、IEでは「undefined」を返すことに注意してください。

于 2011-07-26T03:40:31.320 に答える