首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当document.referrer为"https://www.google.com/“”时,${documentReferrer}为空

在某些情况下,${documentReferrer} 可能为空,即使 document.referrer 显示为 "https://www.google.com/

"。这可能是由于以下原因:

  1. 页面加载顺序:如果页面上的脚本在页面完全加载之前运行,document.referrer 可能还没有被设置。确保脚本在页面加载完成后运行,或者使用 window.onload 事件来确保页面加载完成后再执行脚本。
代码语言:javascript
复制
window.onload = function() {
  console.log(document.referrer);
};
  1. 浏览器安全策略:某些浏览器可能会阻止第三方脚本访问 document.referrer。这通常是出于安全原因,以防止跨站脚本攻击(XSS)。在这种情况下,你可能需要使用服务器端代码来获取 referrer。
  2. 用户隐私设置:用户可能在浏览器设置中禁用了 referrer 信息。这种情况下,document.referrer 将为空。
  3. 代码错误:请确保你正确地使用了 ${documentReferrer}。如果你在模板引擎中使用了这个变量,请确保模板引擎正确地解析了它。

如果以上方法都无法解决问题,你可以尝试使用以下代码来获取 referrer:

代码语言:javascript
复制
function getReferrer() {
  var referrer = document.referrer;
  if (!referrer && window.performance) {
    var navigation = window.performance.getEntriesByType("navigation")[0];
    if (navigation && navigation.type === "reload") {
      referrer = navigation.redirectSource || "";
    }
  }
  return referrer;
}

console.log(getReferrer());

这段代码首先检查 document.referrer,如果为空,则尝试使用 window.performance API 来获取 referrer。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券