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

时间:2011-07-26 03:38:54

标签: javascript cross-browser hash pushstate

我想在不重新加载页面的情况下更改URL。我找到的可能解决方案是

  

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

但有些浏览器如Firefox 3.5,IE6 +不支持此功能,因此对他们来说解决方案是

  

var uri = window.location.href;

但问题是如何发现浏览器是否支持history.pushstate?

TRY CATCH是可能的解决方案还是其他任何东西。

1 个答案:

答案 0 :(得分:82)

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

最快的测试是在浏览器控制台中运行它以查看它是否受支持:

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

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