window.location.pathname
回报正是你需要的。
在这个网址:
HTTP://stackoverflow.com/questions/30385367/get-location-path-without-parmaters/30386013#30386013?param=value
它返回此:
"https://stackoverflow.com/questions/30385367/get-location-path-without-parmaters/30386013"
因此,它只返回路径名称,没有查询字符串或片段标识符。
UPDATE
这里是一个正则表达式的方法,它使用的域名,可以其硬编码或提取采用了window.location.hostname
:
var url = "http://domain.com/dir1/dir2/?param1=123¶m2=456";
alert(url.match(/http:\/\/domain\.com(.*)\?/)[1]);
和更通用方法 - ^.*\/\/.*?(\/.+)\?
:
个
var url = "http://domain.com/dir1/dir2/?param1=123¶m2=456";
alert(url.match(/^.*\/\/.*?(\/.+)\?/)[1]);
谢谢!我真正需要做的事情是获取var中已经存在的地址,并将其转换为路径而不是抓取地址栏中的内容。如果可能的话,我更喜欢使用Angular,但如果它是简短的jQuery或纯JS是很好的。该网站使用沉重的角度,这就是为什么我想坚持下去。 – Scott
不客气!由于Angular是一个JS框架,使用普通JS会给你相同甚至更好的性能。你需要一个字符串操作,我认为正则表达式是最简单的方法。你知道该怎么做? – Shomz
非常感谢,效果很棒!我试图弄清楚[1]做了什么?我认为这是索引位置,但它为什么需要这个?再次感谢正则表达式! – Scott