如何判断浏览器是否支持History.Pushstate?
我想更改 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最快的测试是在浏览器控制台中运行它,看看它是否受支持:
另请注意,在 FF
typeof(history.pushState)
中返回“function”,而在 IE 中它返回“undefined”Quickest test is to run this in the browser console to see if it's supported:
Also notice that in FF
typeof(history.pushState)
returns "function", while in IE it returns "undefined"