我有这样的路由器
app.config(function($routeProvider, $httpProvider){
$routeProvider
.when('/', {
redirectTo: function(){
return '/mdp';
}
})
.when('/mdp', {
templateUrl: 'views/mdp/dashboard.html'
})
.when('/mdg', {
templateUrl: 'views/mdg/dashboard.html'
})
.otherwise({
templateUrl: '/views/error/404.html'
});
});
效果很好但是当我在IE8
时,我有一个奇怪的错误!
我在我的浏览器导航栏中设置了url:localhost:9000,并且可以IE8
重定向到:
localhost:9000/#/mdp
但如果我更改了导航栏中的网址并设置了:
localhost:9000/#/mdg
我输入键盘的输入键没有任何反应,我必须点击CTRL+F5
,
我真的不明白
答案 0 :(得分:0)
如果没有主题标签,浏览器会向服务器发出正常的HTTP GET请求,请求显然在localhost:9000/mdp
找不到任何内容
有意地从HTTP请求中排除主题标签,因为"it is used to delimit a URI from a fragment identifier in URI references"
这对于利用主题标签的javascript路由以及用于维护页面状态的其他逻辑非常有用。
因此,只需更改主题标签不应导致浏览器再次请求该页面。
此帖子中有一些相关信息可能对您有所帮助: javascript location.hash refreshing in IE