防止URL中的角度更改主题标签和斜杠

时间:2015-09-11 14:30:28

标签: angularjs google-chrome-extension gmail

我尝试停止角度来修改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格式变化吗? 或者我的理性假设是错误的?

0 个答案:

没有答案