javascript - AngularJS:Hashbang URL 在完全刷新时不断附加到自身

标签 javascript angularjs

我有一个 angularJS 应用程序,配置如下:

$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');

所以在现代浏览器中,它与 pushstate 一起工作没问题,示例 URL 是:

http://myapp.com/members

在旧版浏览器中,例如IE9,当我浏览到该 URL 时,它按预期将其重写为:

http://myapp.com/members#!/members

从这一点开始点击任何链接都使用 hashbang 方法,也正确:

http://myapp.com/members#!/members/add

然而...

如果我完全重新加载一个页面,一旦它位于 hashbang 重写的 url 上,它会继续将哈希附加到自身。第一次刷新:

http://myapp.com/members#!/members#!/members#!%2Fmembers

..和第二次刷新:

http://myapp.com/members#!/members#!/members#!%2Fmembers#!/members#!%2Fmembers%23!%2Fmembers%23!%2Fmembers

这里发生了什么可能导致这种情况?通常它不会发生,因为人们将在应用程序内导航并且 Angular 将处理 url,但进行完全重新加载似乎会破坏它。谢谢。

最佳答案

尝试设置

<base href="/" /> 

在头上?它可能是 angular 1.1.5 错误/功能。

关于javascript - AngularJS:Hashbang URL 在完全刷新时不断附加到自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16828988/

相关文章:

javascript - 将禁用按钮存储在本地存储中

javascript - 动态加载新的 css 文件时字体闪烁

javascript - 动画 .scrollTop

javascript - AngularJS:按 ng-repeat 中的日期排序,其中键是日期

android - 在 Ionic/Cordova 应用程序中处理 promise

javascript - 如何在加载上面的其他页面部分时保持在 pagebottom(使用 javascript)?

javascript - 从客户端使用 Ajax 调用 Wordpress 函数

javascript - 如何修改AngularJS中指令后面指定的模型(ng-model值)?

javascript - 指令,包装内容并将属性保留在原始元素上

javascript - angularJS Protractor e2e 测试类型错误 : Object [object Object] has no method 'input'