亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用散列提取域?

如何使用散列提取域?

Cats萌萌 2021-05-11 17:32:25
我想從位置地址欄中提取不帶長隨機ID的哈希的域,使其顯示如下:http://test.example.com/#inbox這是完整的URL:http://test.example.com/#inbox/U2FsdGVkX19stSSdMXLZq5v7bOgzRLtaM7Lr1t+lWpI=到目前為止,這是我嘗試過的:var url = location.hash.split('#inbox')[1];我也嘗試過這樣:var url = $(location).attr("href").split('/')[2];不幸的是,沒有長的隨機ID,我沒有得到我想要提取的域和哈希值。當我嘗試時,它會提取域名和哈希(不帶隨機ID)以獲取URL的返回輸出,例如http://test.example.com/#inbox。
查看完整描述

3 回答

?
MM們

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);


查看完整回答
反對 回復 2021-05-20
?
繁星coding

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)

無論哪種方法都應該足夠快(特別是因為您不需要循環這樣的方法)。


查看完整回答
反對 回復 2021-05-20
  • 3 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號