如何判断浏览器是否支持History.Pushstate?

发布于 2024-11-25 23:29:11 字数 331 浏览 5 评论 0原文

我想更改 URL 而无需重新加载页面。我发现的可能的解决方案是

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

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

var uri = window.location.href;

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

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

I want to change URL without without reloading the page. The possible solution I found is

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

but some browser like Firefox 3.5, IE6+ does not support this, so for them solution is

var uri = window.location.href;

but the issue is how to discover if a browser supports history.pushstate or not?

Is TRY CATCH is the possible solution or any thing else.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不再见 2024-12-02 23:29:11
if (history.pushState) {
  // supported.
}

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

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

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

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

Quickest test is to run this in the browser console to see if it's supported:

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

Also notice that in FF typeof(history.pushState) returns "function", while in IE it returns "undefined"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文