在角度项目中获取正确的URL

时间:2016-08-20 14:16:13

标签: javascript angularjs

我有一个用jQuery编写的工作Js插件。为了我的插件工作,我需要获取URL,但没有通过id引用元素的锚标记。也就是说,只能获得http://example.com/content/1/而不是http://example.com/content/1/#comments

我使用以下功能执行此操作:

var getProperURL = function() {
    return window.location.protocol + '//' + window.location.hostname + window.location.pathname;
}

大部分时间都可以使用。但是,我在一个角度项目上运行它,我只获得协议和主机名。我如何为AngularJs做这个?

1 个答案:

答案 0 :(得分:0)

要仅检索没有哈希的路径,可以使用$location.path()

请参阅官方文档:location.path()

  

此方法是getter / setter。

     

当调用而没有任何参数时,返回当前网址的路径。

     

使用参数调用时更改路径并返回$ location。

     

注意:路径应始终以正斜杠(/)开头,如果缺少正斜杠,此方法将添加正斜杠。   返回完整的url表示,其中所有段都根据RFC 3986中指定的规则进行编码。

注入location并检索所需的所有数据。在指南中有很多例子:

// given url http://example.com/#/some/path?foo=bar&baz=xoxo
var path = $location.path();
// => "/some/path"

并在您的网站上:

// given url http://example.com/content/1/#comments
var path = $location.path();
// => "/content/1"