Как перенаправить старые URL-адреса хеша на хеш-банг в Ember.js?

Я использую этот метод:

URL-адреса Hashbang с использованием Ember.js

И теперь у меня есть сайт с хэшбангами. Но люди приходят и на старые URL-адреса только с хешем, но без хешбанга.

Итак, как изменить URL-адрес с хэша на хэш-банг, если кто-то посещает URL-адрес старого стиля?


person Tomasz Smykowski    schedule 08.11.2013    source источник
comment
Сложность заключается в том, как вернуть их обратно, если в будущем вы откажетесь от хеш-бангов.   -  person Paul D. Waite    schedule 08.11.2013
comment
@PaulD.Waite Не думаю, что мне когда-нибудь понадобится это делать. помощь с моим вопросом будет оценена   -  person Tomasz Smykowski    schedule 08.11.2013


Ответы (1)


Я не думаю, что вам нужно настраивать Ember для этого. Простое решение заключается в том, что перед загрузкой приложения 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 Initializers.

Вот jsbin http://emberjs.jsbin.com/aLiretO/1#post

person thecodejack    schedule 08.11.2013