我需要抓取引用URL的路径,该URL可以来自许多不同的主机名,这些主机名可以在HTTP或HTTPS下,甚至有端口号。如何在Javascript中获取没有主机名的引用URL?
有人可以给我一个例子,只有当引用URL包含一个特定的字符串,如路径和文件名或只是一个没有文件扩展名的特定路径时,如何运行一些代码?
我需要抓取引用URL的路径,该URL可以来自许多不同的主机名,这些主机名可以在HTTP或HTTPS下,甚至有端口号。如何在Javascript中获取没有主机名的引用URL?
有人可以给我一个例子,只有当引用URL包含一个特定的字符串,如路径和文件名或只是一个没有文件扩展名的特定路径时,如何运行一些代码?
好了,你可以用一些简单的开始:
var parts = document.referrer.replace(/^https?:\/\//, '').split('/');
parts.shift();
var path = parts.join('/');
if (path.indexOf('filename') > -1) {
// code here
}
如果你需要更多的灵活性看到这个库:http://blog.stevenlevithan.com/archives/parseuri
除了具有多个主机名称之外,引用页面可以使用HTTP或HTTPS协议。你可以请更新你的例子在任何协议下工作?另外,我只需要在这个地方抓取引用者,所以使用库会过度。 – Zoolander
我已更新我的替换使用正则表达式来处理http和https。 – deviousdodo
你会使用'document.referrer'。另请参阅:http://stackoverflow.com/questions/1098877/javascript-redirect-based-on-referrer –
感谢您的提示,但我不确定如何只抓住主机名后可能包含.com ,.net,甚至一个端口号。所以我只想比较主机名后面的第一个“/”后面的内容。 – Zoolander