Run*_*ble 10 javascript angularjs
我有一个angularJS应用程序,配置如下:
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
Run Code Online (Sandbox Code Playgroud)
所以在现代浏览器中,它与pushstate一起使用没有问题,一个示例URL将是:
http://myapp.com/members
Run Code Online (Sandbox Code Playgroud)
在旧的浏览器中,例如IE9,当我浏览到该URL时,它会按预期重写它:
http://myapp.com/members#!/members
Run Code Online (Sandbox Code Playgroud)
单击此处的任何链接都会使用hashbang方法,也正确:
http://myapp.com/members#!/members/add
Run Code Online (Sandbox Code Playgroud)
然而...
如果我在一个hashbang重写的URL上完全重新加载页面,它将继续将哈希附加到自身.第一次刷新:
http://myapp.com/members#!/members#!/members#!%2Fmembers
Run Code Online (Sandbox Code Playgroud)
..和第二次刷新:
http://myapp.com/members#!/members#!/members#!%2Fmembers#!/members#!%2Fmembers%23!%2Fmembers%23!%2Fmembers
Run Code Online (Sandbox Code Playgroud)
这可能导致这种情况发生了什么?通常它不会发生,因为人们将在应用程序内导航并且角度将处理网址,但进行完全重新加载似乎打破了它.谢谢.
| 归档时间: |
|
| 查看次数: |
3286 次 |
| 最近记录: |