在Javascript中,如何在没有主机名的情况下获取引用URL?

在Javascript中,如何在没有主机名的情况下获取引用URL?,javascript,url,uri,document,referrer,Javascript,Url,Uri,Document,Referrer,我需要抓取引用URL的路径,它可以从许多不同的主机名提供服务,这些主机名可以是HTTP或HTTPS,甚至有端口号 有人能给我举个例子,说明只有在引用的URL包含特定字符串(如路径和文件名)或仅包含某个没有文件扩展名的路径时,如何运行某些代码吗?好的,您可以从简单的内容开始: var parts = document.referrer.replace(/^https?:\/\//, '').split('/'); parts.shift(); var path = parts.join('/');

我需要抓取引用URL的路径,它可以从许多不同的主机名提供服务,这些主机名可以是HTTP或HTTPS,甚至有端口号


有人能给我举个例子,说明只有在引用的URL包含特定字符串(如路径和文件名)或仅包含某个没有文件扩展名的路径时,如何运行某些代码吗?

好的,您可以从简单的内容开始:

var parts = document.referrer.replace(/^https?:\/\//, '').split('/');
parts.shift();
var path = parts.join('/');
if (path.indexOf('filename') > -1) {
    // code here
}

如果您需要更多的灵活性,请参阅此库:

好的,您可以从一些简单的内容开始:

var parts = document.referrer.replace(/^https?:\/\//, '').split('/');
parts.shift();
var path = parts.join('/');
if (path.indexOf('filename') > -1) {
    // code here
}

如果您需要更大的灵活性,请参阅此库:

您可以使用
document.referer
。另请参阅:感谢您的提示,但是我不确定如何仅获取主机名后面的部分,该部分可能包含.com、.net甚至端口号。因此,我只想与主机名后第一个“/”后面的内容进行比较。您可以使用
document.referer
。另请参阅:感谢您的提示,但是我不确定如何仅获取主机名后面的部分,该部分可能包含.com、.net甚至端口号。因此,我只想与主机名后第一个“/”后面的内容进行比较。除了有多个主机名之外,引用页面还可以使用HTTP或HTTPS协议。您能否更新您的示例以在任一协议下工作?此外,我只需要在这一个地方grrab引用者,因此使用库将是过分的。我已经更新了我的替换,以使用正则表达式来处理http和https。除了有多个主机名外,引用页面还可以使用http或https协议。您能否更新您的示例以在任一协议下工作?另外,我只需要在这一个地方对引用者进行grrab,所以使用一个库就太过分了。我已经更新了我的replace,使用一个正则表达式来处理http和https。