Javascript 刷新时从angularjs中的URL中删除hashbang
当浏览一个在改变路线时使用angularjs的站点时,它会在最后添加一个hashbang,并且可以在刷新时恢复状态(这很酷) 然而,在我的特定项目中,我希望它在刷新时加载主路由(就像没有hashbang一样)Javascript 刷新时从angularjs中的URL中删除hashbang,javascript,angularjs,Javascript,Angularjs,当浏览一个在改变路线时使用angularjs的站点时,它会在最后添加一个hashbang,并且可以在刷新时恢复状态(这很酷) 然而,在我的特定项目中,我希望它在刷新时加载主路由(就像没有hashbang一样) 这可能吗?您可以使用一个服务或多个控制器来实现这一点。IMO最简单的方法是设置一个简单的控制器和服务,它包含在每个页面上 大概是这样的: <div style='display:none;' ng-controller='RefreshController'></div&
这可能吗?您可以使用一个服务或多个控制器来实现这一点。IMO最简单的方法是设置一个简单的控制器和服务,它包含在每个页面上 大概是这样的:
<div style='display:none;' ng-controller='RefreshController'></div>
控制器:
function RefreshController($location,redirect){
if($location.path()=='/'){
redirect.set()
}
if(redirect.get()){
$location.path('/');
}
}
简而言之,如果您在主页上,它将设置一个服务变量来表示您在主页上。只要不刷新,服务变量状态将是静态的。如果刷新完成且您当前不在主页面上,则服务变量将不同,用户将被重定向到主页面。我的理解是,您希望在刷新时使浏览器导航到不同的URL。您希望通过javascript实现这一点。我不明白这是如何从javascript实现的。此外,这将不再是刷新,而是其他一些可能会让用户不安的内容。
function RefreshController($location,redirect){
if($location.path()=='/'){
redirect.set()
}
if(redirect.get()){
$location.path('/');
}
}