Мы настроили разные приложения, например микро-интерфейсы, работающие в разных версиях Angular, одно из которых в AngularJS требуется для перенаправления на URL, который находится в другом проекте. Все работает до тех пор, пока вы не попытаетесь go вернуться назад с помощью кнопки «Назад» в браузерах, и вы перейдете к предыдущему домену, на который перешел пользователь. Он не может go вернуться к предыдущему URL. Кажется, навигация была заменена, но я не вижу ничего в проекте, который использует location.replace
.
, например:
Я перемещаюсь
www.anyurl.com
затем я go в мои проекты днс, как
myproject.com/employer/dashboard
после того, как я могу нажать на нужную кнопку, которая приведет меня к
myproject.com/employer/job-flow#location
До там все в порядке, но если Я нажимаю кнопку возврата браузера вместо того, чтобы перевести меня к:
myproject.com/employer/dashboard
Это будет go к предыдущему домену:
www.anyurl.com
Надеюсь, это четкое объяснение
отсюда: /employer/search
до /employer/job-flow#location
Процесс:
Объявление нового пункта в меню:
..., {
title: 'Post a job',
mainPath: 'job-flow',
fallbackUrl: 'employer/job-flow',
image: '/assets/images/new-job.svg',
notification: false,
subitems: [],
enabled: true
}
В HTML есть:
ng-href="{{ item.fallbackUrl }}"
Затем есть модуль angular, который хранит массив со всеми маршрутами:
var employerWebRoutes = [
...
'employer/job-flow'
];
После этого массив повторяется (я думаю, что он работает как перехватчик для данных маршрутов):
employerWebRoutes.forEach( function ( route ) {
$stateRegistryProvider.register( {
url: '/' + route + '{path:.*}',
name: route + 'ExternalState',
component: 'merlExternalRoutesComponent',
resolve: {
reloadFromServer: reloadFromServerResolver
},
data: {
authAccess: 'private',
isExternalRoute: true
}
} );
} );
И, наконец, метод reloadFromServerResolver
var reloadFromServerResolver = [
'$transition$',
'$q',
function (
$transition$,
/** angular.IQService */ $q
) {
var /** @type module:angular.ui.IStateService */ stateService = $transition$.router.stateService;
var /** @type string */ toUrl = stateService.href( $transition$.to().name, $transition$.params() );
setTimeout( function () {
window.location.assign( toUrl );
}, 10 );
return $q.reject();
}
];
Я предполагаю, что это как д Во-первых, я новичок в этом проекте и не могу понять, как описать эту проблему, если кто-то может указать верное направление, я был бы очень признателен. Спасибо