在 IE9 中使用 HTML5 PushState()

发布于 2024-10-30 08:45:07 字数 93 浏览 3 评论 0原文

有没有办法在 IE9 中使用 HTML5 History API (pushState)? 如果有一个适用于所有其他浏览器的解决方案,那就太好了!

Is there any way to use HTML5 History API (pushState) in IE9?
If there is a solution for all other browsers that would be great!

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

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

发布评论

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

评论(2

云醉月微眠 2024-11-06 08:45:07

History.js

引用自存储库:

History.js 优雅地支持所有浏览器中的 HTML5 历史/状态 API(pushState、replaceState、onPopState)。包括对数据、标题、replaceState 的持续支持。支持 jQuery、MooTools 和 Prototype。对于 HTML5 浏览器,这意味着您可以直接修改 URL,而无需再使用哈希值。对于 HTML4 浏览器,它将恢复使用旧的 onhashchange 功能。

History.js

Quote from the repo:

History.js gracefully supports the HTML5 History/State APIs (pushState, replaceState, onPopState) in all browsers. Including continued support for data, titles, replaceState. Supports jQuery, MooTools and Prototype. For HTML5 browsers this means that you can modify the URL directly, without needing to use hashes anymore. For HTML4 browsers it will revert back to using the old onhashchange functionality.

自由范儿 2024-11-06 08:45:07

根据有关历史 API 的 Ember 文档:
http://emberjs.com/api/classes/Ember.Location.html

支持历史 API 的浏览器将使用 HistoryLocation,那些不支持但仍支持 hashchange 事件的浏览器将使用 HashLocation,在极少数情况下,两者都不支持的浏览器将使用 NoneLocation。

App.Router.map(function() {
  this.resource('posts', function() {
    this.route('new');
  });
});

App.Router.reopen({
  location: 'auto'
});

这将导致 posts.new url 为 /posts/new (对于支持历史记录 api 的现代浏览器)或 /#/posts/new (对于较旧的浏览器,例如 Internet Explorer 9 及更低版本)。

当用户访问应用程序的链接时,他们将自动升级或降级到适当的位置类,并根据需要相应地转换 URL。

As per Ember documentation about history api:
http://emberjs.com/api/classes/Ember.Location.html

Browsers that support the history API will use HistoryLocation, those that do not, but still support the hashchange event will use HashLocation, and in the rare case neither is supported will use NoneLocation.

App.Router.map(function() {
  this.resource('posts', function() {
    this.route('new');
  });
});

App.Router.reopen({
  location: 'auto'
});

This will result in a posts.new url of /posts/new for modern browsers that support the history api or /#/posts/new for older ones, like Internet Explorer 9 and below.

When a user visits a link to your application, they will be automatically upgraded or downgraded to the appropriate Location class, with the URL transformed accordingly, if needed.

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