AngularJS:与哈希链接获取urlencoded

时间:2013-04-18 08:26:36

标签: angularjs

我有一个像http://localhost:8000/#?4047=27.20#4047

这样的链接

如果我将其粘贴并重新加载页面,一切正常。

如果我建立了像

这样的链接
<a href="{{ location.$$absUrl }}" target="_blank">same</a>

它工作正常。

如果我将链接粘贴到我的电子邮件或便笺软件中,链接看起来很好。但是,当我点击它时,它会被urlencoded并失败

http://localhost:8000/#?4047=27.20%234047

因此,$location.hash()为空。

我主要使用chrome。 Safari类似但略差。我粘贴http://localhost/#/?9189=668.00&7010=128.00#7010,9189并将其更改为http://localhost/#/?9189=668.00&7010=128.00%237010,9189,我的应用已中断。

Firefox似乎没有编码#并按照我想要的方式处理它。 HRM。

1 个答案:

答案 0 :(得分:0)

我宁愿把它放在配置的某个地方,也许吧。但是,就我的目的而言,如果需要,我可以在控制器的早期“纠正”网址。

// aint nobody got time fo dat
$location.url($location.url().replace('%23', '#'));