В веб-приложении среднего стека с html5mode я определил следующий angular-ui-router
.state('addinHome', {
url: '/addin/home',
template: "home page"
})
Затем у меня есть еще одна страница https://localhost:3000/test/
с кнопкой <a href="/addin/home">button</a>
. Также в его контроллере у меня есть
... ...
$location.path("/addin/home")
... ...
Обычно и $location.path
, и кнопка ведут к https://localhost:3000/addin/home
.
Теперь я добавляю следующие ссылки в index.html
:
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>
<script src="https://cdn.rawgit.com/devote/HTML5-History-API/master/history.js"></script>
Это мешает UI-маршрутизатору. Как следствие, и $location.path
, и кнопка ведут к https://localhost:3000/test/#%2Faddin#%2Fhome
, а это НЕ то, что мне нужно.
Я нашел решение для исправления кнопки: она использует <a href="addin/home" target="_self">button</a>
(открывает связанный документ в том же фрейме, в котором он был нажат; см. здесь а>).
Однако я не нашел решения для исправления $location.path("/addin/home")
. Может ли кто-нибудь помочь?
$state.go('addinHome');
? - person Alon Eitan   schedule 15.07.2017https://localhost:3000/test/#%2Faddin#%2Fhome
как$location.path
. - person SoftTimur   schedule 15.07.2017history.js
, если маршрутизатор уже управляет историей? - person charlietfl   schedule 15.07.2017html5mode
, мне нужноhistory.js
, чтобы избежатьoffice.js
полностью мешающего режима html5.. - person SoftTimur   schedule 15.07.2017<base href="https://localhost:3000/" />
к<head>
вашего html? - person Alon Eitan   schedule 15.07.2017<base href="/" />
в моем html. Смена на<base href="https://localhost:3000/" />
не помогла. - person SoftTimur   schedule 15.07.2017