【问题标题】:How to grab referring URL without the hostname in Javascript?如何在 Javascript 中获取没有主机名的引用 URL?
【发布时间】:2011-12-04 18:41:11
【问题描述】:

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

谁能给我一个示例,说明如何仅在引用 URL 包含特定字符串(例如路径和文件名)或仅包含不带文件扩展名的特定路径时运行某些代码?

【问题讨论】:

  • 你会使用document.referrer。另见:stackoverflow.com/questions/1098877/…
  • 感谢您的提示,但是我不确定如何仅获取主机名后面可能包含 .com、.net 甚至端口号的部分。所以我只想与主机名后的第一个“/”之后的内容进行比较。

标签: javascript url uri document referrer


【解决方案1】:

好吧,你可以从简单的开始:

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 协议。您能否更新您的示例以在任一协议下工作?另外,我只需要在这个地方获取引荐来源网址,所以使用库会是多余的。
  • 我已更新我的替换以使用正则表达式来处理 http 和 https。
猜你喜欢
  • 1970-01-01
  • 2021-08-27
  • 2010-11-24
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
  • 2019-09-23
  • 2016-01-30
  • 1970-01-01
相关资源
最近更新 更多