我正在尝试在IE9中使用html5mode,angular ui routing
<ul>
<% for(var item in printIt.widget){%>
<li><%= printIt.widget[item].data%></li>
<% } %>
</ul>
而不是index / path / myid我仍然得到索引/#/ index / myid然后带我索引,因为浏览器忽略了哈希标记及其后的所有内容。 (适用于firefox,chrome,edge,IE11-10(支持html5mode / api历史的浏览器))
答案 0 :(得分:-1)
除了使用UI路由器之外,这是我在我的应用程序中的内容:
$ locationProvider是Angular核心的一部分,用于配置应用程序的路径。默认情况下,Angular使用#!作为路径前缀,称为Hashbang模式。这是一种表示JavaScript会触发页面加载的约定。
我将以下代码添加到app / scripts / app.js文件中的配置功能
将以下代码添加到配置功能:
(function() {
function config($stateProvider, $locationProvider) {
$locationProvider
.html5Mode({
enabled: true,
requireBase: false
});
}
通过将html5Mode方法的enabled属性设置为true,禁用hashbang URL;也就是说,用户将看到没有hashbang的干净URL。将requireBase属性设置为false与hashbang问题无关,但这是避免常见$ location错误的一种方法。