不重新定向就更新URL不起作用

时间:2018-08-31 05:02:36

标签: javascript url

我尝试过window.history.pushState('', '', site_url + '' + ActivityUrl);,也尝试过window.history.replaceState('', '', site_url + '' + ActivityUrl);

我需要在浏览器中更新URL而不重定向到它。我得到的所有解决方案都是上述两种,但这不起作用,也没有显示任何错误。

我使用的代码在AngularJS控制器中,

$scope.updateUrl = function (ActivityUrl) {

    window.history.pushState('', '', site_url + '' + ActivityUrl);
}

并通过ng-click调用此函数。

1 个答案:

答案 0 :(得分:2)

首先,您需要设置位置信息提供者的配置:

// Configure $locationProvider html5Mode
app.config(['$locationProvider', function($locationProvider) {
    $locationProvider.html5Mode({ enabled: true, requireBase: false, rewriteLinks: false });
}]);

然后将您的方法更改为:

$scope.updateUrl = function (ActivityUrl) {
    $window.history.pushState('', '', site_url + '' + ActivityUrl);
}