如果用户在地址栏中手动键入我们的网址,则不会显示模式

问题描述 投票:0回答:1

我创建的模式会在用户从外部链接(即Google搜索结果)访问我们的页面时显示,但是如果用户通过在地址栏中手动输入我们的URL进入我们的网站,则会发生错误,并且模态没有出现。

这是我的代码:

  const siteUrl = ["website.com"];
  const referrer_hostname = new URL(document.referrer).hostname;

  if (siteUrl.includes(referrer_hostname)) {
    console.log("Don't Show Modal", document.referrer);
  } else {
    console.log("Show Modal", document.referrer);

    $( window ).on('load', function() {
      console.log("closure modal firing");
      $('#closureModal').modal({
        backdrop: 'static',
        keyboard: false,
        show: true
      });
    });

#closureModal连接到模式的HTML。

错误:(index):123 Uncaught TypeError: Failed to construct 'URL': Invalid URL

javascript conditional-statements referrer allow-modals
1个回答
0
投票
当您在地址栏中输入URL时,

document.referrer是一个空字符串“”。尝试添加验证:

© www.soinside.com 2019 - 2024. All rights reserved.