我尝试停止角度来修改URL格式
来自'mail.google.com/#inbox'
到'mail.google.com/#/inbox'
上下文是我正在开发Chrome扩展程序,客户喜欢在同一时间将它与Streak一起使用。但有时我的应用程序会停止Streak的“管道”功能出现。
我猜的原因是角度因此将URL更改为不同的格式,停止Streak的某些功能(可能)
所以,为了防止在hash标记之后添加斜线, 我在配置中使用html4模式,如
$locationProvider.html5Mode(true);
事实上,它的确有效!但有错误信息:
$location in HTML5 mode requires a tag to be present!
所以我将配置部分更改为
$locationProvider.html5Mode({
enabled: true,
requireBase: true
});
然后错误消息消失,但斜线将被编码 例如:
"mail.google.com/#pipeline/aaabbbccc..."
成为
"mail.google.com/#pipeline%2Faaabbbccc..."
并且管道没有出现。
然后我找到了防止this method
的斜杠编码的方法我将配置更改回
$locationProvider.html5Mode(true);
并将标签添加到head to index; 因为我正在开发一个注入脚本应用程序 我在内容脚本中添加了Jquery的html标签
$('head').append('<base href="/">');
然后情况变得很奇怪,它会打开新的标签,有时会签出我的gmail,也管道也没有显示。
此外,我发现事物触发URL更改是某些指令使用$ state
有人知道如何防止角度修改URL格式变化吗? 或者我的理性假设是错误的?