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)
无论哪种方法都应该足够快(特别是因为您不需要循环这样的方法)。
添加回答
举报