我的单页应用未安装在根目录上,因此该应用的路径类似于http://…/sub/
。我把它添加到HTML文件中来处理基础:
<base href="/sub/"/>
我的路由提供者按照您期望的方式设置:
$locationProvider.html5Mode(true).hashPrefix('!');
$routeProvider
.when("/", { })
.when("/foo/", { })
.when("/bar/", { })
在Chrome,Safari,Firefox和IE9中都很好,但在IE8上却失败了。为了使它工作,我不得不添加它以确保它正确初始化:
if (!history.pushState && !window.location.hash) {
window.location.replace("/sub/#!/");
}
为什么需要?有没有其他方法让它在IE8中工作而不诉诸这些黑客? (我在角度1.2.0.rc.3)
答案 0 :(得分:0)
通过遵循AngularJS IE兼容性指南,我已经让我的应用程序可以在IE8 +(和IE7上有不同的结果)上运行:http://docs.angularjs.org/guide/ie