Using HTML5 pushState() in IE9

前端 未结 2 1672
情话喂你
情话喂你 2020-12-09 15:26

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!

相关标签:
2条回答
  • 2020-12-09 16:29

    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.

    0 讨论(0)
  • 2020-12-09 16:30

    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.

    0 讨论(0)
提交回复
热议问题