Используя href для установки URL, перезагрузите. Работа в проводнике, но не в Chrome - PullRequest
0 голосов
/ 09 июля 2019

У меня есть несколько навигационных ссылок, которые устанавливают URL, а затем запускают перезагрузку страницы.

Работает так, как задумано в Internet Exlporer, но не в Chrome.

В Chrome, когда вы нажимаете на ссылку, вы видите, что он устанавливает новый URL-адрес в адресной строке браузера, но затем при обновлении сбрасывает старый URL-адрес и загружает старую страницу. Вот код:

<body ng-app="MyApp" ng-cloak>
    <div ng-controller="MyAppController">
    <ul>
        <li><a ng-Click="pageReload()" ng-href="myApp#?appId=application1">Application 1</a></li>
        <li><a ng-Click="pageReload()" ng-href="myApp#?appId=application2">Application 2</a></li>
    </ul>
</body>
myApp.controller('MyAppController', ['$q', '$scope', '$location', function($q, $scope, $location) {
    $scope.appName = $location.search().appId;
    switch ($location.search().appId() {
        case "application1":
            $scope.appId = 1;
            break;
        case "application2":
            $scope.appId = 2;
            break;
    }

    $scope.pageReload = function(scope, elm, attr) {
        location.reload();
    }
}]);

Кто-нибудь может понять, почему это работает в Explorer, а не в Chrome?

К сожалению, он не генерирует никаких сообщений об ошибках.

1 Ответ

0 голосов
/ 10 июля 2019

Я не смог определить, почему это не работает в Chrome.

Мне удалось решить проблему следующим образом:

<body ng-app="MyApp" ng-cloak>
    <div ng-controller="MyAppController">
    <ul>
        <li><a ng-Click="pageReload('myApp#?appId=application1')">Application 1</a></li>
        <li><a ng-Click="pageReload('myApp#?appId=application2')">Application 2</a></li>
    </ul>
</body>
myApp.controller('MyAppController', ['$q', '$scope', '$location', function($q, $scope, $location) {
    $scope.appName = $location.search().appId;
    switch ($location.search().appId() {
        case "application1":
            $scope.appId = 1;
            break;
        case "application2":
            $scope.appId = 2;
            break;
    }

    $scope.pageReload = function(href) {
        location.href = href;
        location.reload();
    }
}]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...