0

我的单页应用程序未安装在根目录上,因此应用程序的路径类似于http://…/sub/. 我通过将其添加到 HTML 文件来处理基础:

<base href="/sub/"/>

我的 routingProvider 是按照您期望的方式设置的:

$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 上)

4

1 回答 1

0

通过遵循 AngularJS IE 兼容性指南:http ://docs.angularjs.org/guide/ie

于 2013-11-08T13:58:49.237 回答