如何查找浏览器是否支持History.Pushstate?

我想在不重新加载页面的情况下更改url。 我find的可能解决scheme是

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

但有些浏览器如Firefox 3.5,IE6 +不支持这个,所以对于他们来说解决scheme是

var uri = window.location.href;

但问题是如何发现,如果浏览器支持history.pushstate或不?

是TRY CATCH是可能的解决scheme或其他任何事情。

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

最快的testing是在浏览器控制台中运行它,看看是否支持:

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

另外请注意,在FF typeof(history.pushState)返回“function”,而在IE中返回“undefined”