web-dev-qa-db-ja.com

ブラウザーがHistory.Pushstateをサポートしているかどうかを確認する方法は?

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

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

しかし、Firefox 3.5、IE6 +などの一部のブラウザーはこれをサポートしていないため、それらのソリューションは

var uri = window.location.href;

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

TRY CATCHは、考えられる解決策またはその他のものです。

43
Ashish Agarwal
_if (history.pushState) {
  // supported.
}
_

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

_if (history.pushState) { alert('supported'); }
_

また、FFではtypeof(history.pushState)は「関数」を返し、IEでは、「未定義」を返します。

82
Kon