2017-01-05 11 views
1

У меня есть этот маршрутизатор:Угловое 2 маршрутизации добавляет якорь в IE9

... 
import { Router, Routes, RouterModule } from '@angular/router'; 
... 

const routes:Routes = [ 
    { path:'', redirectTo:'home', pathMatch:'full'}, 
    { path:'home', component: HomeComponent}, 
    ... 
] 

И навигация через

router.navigateByUrl('/home'); 

Она работает довольно отлично во всех браузерах, но IE9.

Он добавляет к текущему URL в #, так что если я перейти к localhost, он отображает HomeComponent нормально, но URL является localhost/#/home И если я вручную добавить localhost/home он идет к localhost/home/#/home и не

Can» t найти что-либо в вопросах GitHub (некоторые похожие вопросы, но не то же самое), и я не могу самостоятельно найти проблему. Любые подсказки?

ответ

2

Internet Explorer 9 не поддерживает HTML5 pushstate навигация. Угловой2 по умолчанию для Hash-навигации на IE9

+0

Каким должен быть обходной путь? Хейш-навигации для всех? Разная навигация для IE9? – sailens

+0

Не поддерживайте IE9 мой ответ по умолчанию. Но эй, я не знаю твоей ситуации :) Я не знаю об обходном пути, но можно сказать, что ты справляешься с этим на своем веб-сервере. Проверьте, не IE9, а затем добавить хэш перед URL. Но, возможно, есть лучший способ. Вы установили базовый href в '/'? – PierreDuc

+0

К сожалению, IE9 является обязательным. base ref правильно установлен на/ – sailens

 Смежные вопросы

  • Нет связанных вопросов^_^