2014-07-14 1 views
2

Pour mon application Ember CLI, je souhaite utiliser un URL de base, tel que décrit here. Cela fonctionne très bien pour l'API History, mais pour l'ancienne API Hash, cela ne fonctionnera pas comme prévu.BaseURL dans l'application Ember CLI avec le support IE9

Ma configuration:

module.exports = function(environment) { 
    var ENV = { 
     environment: environment, 
     baseURL: '/base/', 
     locationType: 'auto', 
     ... 
    }; 

    ... 

    return ENV; 
} 

Dans IE9 i got localhost:4200/#/base/login au lieu de localhost:4200/base#/login. Si vous passez manuellement à cette page, une page vierge (blanche) s'affiche.

Répondre

2

Il est un problème connu apparemment: http://github.com/stefanpenner/ember-cli/issues/417

+0

Désolé oublié de mentionner que j'ai utilisé l'emplacement: propriété 'auto' déjà. Changement de ma question pour inclure ceci (Ember CLI appelle cette propriété locationType si) –

+0

a obtenu cela, mais vous ne pouvez pas changer ce comportement sur IE, car c'est la solution de repli pour ne pas soutenir l'API d'histoire. – borisrorsvort

+0

Je ne veux pas changer le comportement. Dans la dernière ligne j'ai mentionné que IE9 a obtenu un mauvais lien/résultat. Mais le lien utilise l'API Hash. Donc c'est bien (les navigateurs les plus récents utilisent effectivement l'API History, ces navigateurs fonctionnent parfaitement). C'est juste que dans IE9, il ne définit pas correctement l'URL de base ==> now: root #/base/path; Je veux: root/base #/path –

6

Je trouve que vous devez régler le routeur rooturl ainsi que l'environnement baseUrl.

//router.js 
import Ember from 'ember'; 
import config from './config/environment'; 

let Router = Ember.Router.extend({ 
    location: config.locationType, 
    rootURL: config.baseURL 
}); 

export default Router; 
Questions connexes