如何使用document.referrer获取网址的各个部分?

时间:2013-03-07 22:27:13

标签: javascript

我需要使用document.referrer来获取以前的网址我还需要能够获取网址的部分内容:

window.location.protocol
window.location.host
window.location.pathname

但是我无法弄清楚如何使用document.referrer。有人有任何想法吗?

3 个答案:

答案 0 :(得分:13)

您可以使用引荐来源创建一个元素作为其网址。

元素(带有hrefs)可以像位置对象一样

var a=document.createElement('a');
a.href=document.referrer;
alert([a.protocol,a.host,a.pathname].join('\n'));
a='';

答案 1 :(得分:5)

window.locationdocument.referrer无关,因此您唯一的选择就是打破字符串本身。您可以编写正则表达式来执行此操作或依赖于一系列字符串拆分:

var parts = document.referrer.split('://')[1].split('/');
var protocol = document.referrer.split('://')[0];
var host = parts[0];
var pathName = parts.slice(1).join('/');

答案 2 :(得分:1)

如果您想要方便并且能够承受体重,请查看URI.js或建议URL parsers之一。如果你不需要任何花哨的东西,<a>s href decomposition就可以完成这项工作。