4

我需要用来document.referrer获取以前的 URL 我还需要能够获取 URL 的各个部分,例如:

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

但我无法弄清楚如何使用document.referrer. 有人有什么想法吗?

4

3 回答 3

13

您可以创建一个以引用者为 url 的元素。

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

var a=document.createElement('a');
a.href=document.referrer;
alert([a.protocol,a.host,a.pathname].join('\n'));
a='';
于 2013-03-08T00:03:26.173 回答
6

没有等同于window.location的,document.referrer所以你唯一的选择就是分解字符串本身。您可以编写一个正则表达式来执行此操作或依赖一系列字符串拆分:

var parts = document.referrer.split('://')[1].split('/');
var protocol = document.referrer.split('://')[0];
var host = parts[0];
var pathName = parts.slice(1).join('/');
于 2013-03-07T22:33:24.430 回答
1

如果您想要方便并且负担得起重量,请查看URI.js或建议的URL 解析器之一。如果你不需要任何花哨的东西,<a>s href 分解就可以完成这项工作。

于 2013-03-07T22:43:05.753 回答