角度:无法调用未定义的Android浏览器的方法“替换”

Angular: Cannot call method 'replace' of undefined Android Browser

本文关键字:方法 浏览器 替换 Android 角度 调用 未定义      更新时间:2023-09-26

在 Angular 中,我使用此$location.path('/login')在应用程序中移动:

MainMenuCtrl.$inject = ['$scope', '$location'];
function MainMenuCtrl($scope, $location) {
    $scope.doFileWeeklyClaim = function() {
        $location.path('/login');
    };
};

仅在 Android::
上当我重定向离开应用程序(比如 google.com)并按back返回应用程序时。 单击应用程序中的链接后,链接将不再有效。我收到一个错误,说基本上是location.href is undefinedCannot call method 'replace' of undefined)。问题出在 Angular v 1.0.8 中,错误来自Angular.js3268 .

您可以按照以下链接中建议的方法解决此问题。

Android 原生浏览器和 angularjs 的问题

遵循上述方法后,我可以解决我的问题,但该问题也存在于更高版本的 android 中。为此,我刚刚更改了条件:

history: !!($window.history && $window.history.pushState && !(android < 5))