[英]AngularJS + html5Mode + custom fallback
我有一个html5Mode = true的应用程序,但在IE上我不需要回退到 #/ url 。 我需要的是保持URL并重新加载完整的页面。
如果我找不到任何方法,我将需要编辑AngularJS文件,这就是我不想要的。
建议?
谢谢!
- 编辑 -
作为一个时间解决方案,我在AngularJS文件中评论了一些代码。
/*if ($sniffer.history) {*/
$location = new LocationUrl(
convertToHtml5Url(initUrl, basePath, hashPrefix),
pathPrefix, appBaseUrl);
/*} else {
$location = new LocationHashbangInHtml5Url(
convertToHashbangUrl(initUrl, basePath, hashPrefix),
hashPrefix, appBaseUrl, basePath.substr(pathPrefix.length + 1));
}*/
现在它不会回退到Hashtag网址,如果浏览器不支持历史记录API,则Browser.url会创建一个location.href 。
我认为这样做你想要的。 如果没有,也许解决方案涉及相同的事件$locationChangeStart
。
var gate = 1;
$scope.$on("$locationChangeStart", function(event, nextLocation, currentLocation) {
if ($('html').is('.ie6, .ie7, .ie8')) {
if (gate === 0) { //prevent endless location change
gate = 1;
window.location.href = nextLocation; //reload the page
}
else {
gate = 0;
}
}
});
如果您不知道此OldIE支票, 请参阅此帖子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.