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