我尝试过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调用此函数。
答案 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);
}