Javascript 如何将旧的哈希URL重定向到Ember.js中的hash bang?

Javascript 如何将旧的哈希URL重定向到Ember.js中的hash bang?,javascript,ember.js,hashbang,Javascript,Ember.js,Hashbang,我使用这种方法: 现在我有了一个带有hashbang的网站。但是人们访问旧的URL时只使用散列,而不使用散列 那么,如果有人访问旧式URL,如何将URL从仅哈希更改为hashbang呢?我认为您不需要为此调整余烬。简单的解决方案是在加载ember应用程序之前,您可以运行以下代码 var url = window.location.toString(); if(url.split('#!').length==1) { if(url.split('#').length

我使用这种方法:

现在我有了一个带有hashbang的网站。但是人们访问旧的URL时只使用散列,而不使用散列


那么,如果有人访问旧式URL,如何将URL从仅哈希更改为hashbang呢?

我认为您不需要为此调整余烬。简单的解决方案是在加载ember应用程序之前,您可以运行以下代码

    var url = window.location.toString();

    if(url.split('#!').length==1) {
      if(url.split('#').length==2) {
        window.location = url.split('#')[0]+'#!' + url.split('#')[1];
      }
    }
基本上,它所做的是将url重写为#

更新:另外一种方法是在Ember初始值设定项中编写上述代码


这是jsbin

棘手的部分是,如果您将来不再使用hashbang,如何将它们更改回来。@PaulD.Waite我想我永远都不需要这样做。对我的问题的帮助将被认可