3 回答

TA貢獻1886條經驗 獲得超2個贊
我得到了整個URL,找到了“?!钡奈恢?,在其“?!?+單詞“ inbox”的計數中添加了6,并刪除了URL的其余部分:
var url = document.URL;
var i = url.indexOf('#') + 6; // 6 is length of "#" + the word "inbox"
var answer = url.substr(0, i);

TA貢獻1797條經驗 獲得超4個贊
我會用它indexOf()來找到'#'角色的位置。由于網址不能包含'#',因此可以安全地假設第一個'#'將是您感興趣的網址。
然后,我將'/'再次搜索與indexOf(),所以the'#'和the之間的單詞'/'可以更改,并且一切仍然按預期進行。
該位置是'/'以及可以返回的所有內容的位置,這是String.sub()函數的作用,并且它返回您要查找的URL:
var pos = location.href.indexOf('#')
pos = location.href.indexOf('/', pos)
var url = location.href.substr(0, pos)
盡管我不確定它是否完全可移植,但是另一種方法是使用位置字段,如下所示:
var url = location.origin + location.pathname + "#inbox"
如果"#inbox"零件可以更改,則可以location.hash像下面這樣調整代碼或搜索斜線:
var pos = location.hash.indexOf('/')
var url = location.origin + location.pathname + location.hash.sub(0, pos)
無論哪種方法都應該足夠快(特別是因為您不需要循環這樣的方法)。
添加回答
舉報