Javascript document.referer引用我的功能范围之外的URL

Javascript document.referer引用我的功能范围之外的URL,javascript,redirect,url-redirection,referrer,Javascript,Redirect,Url Redirection,Referrer,如果用户从他们拥有的多个其他URL重定向,我尝试在我公司的网站上显示一个弹出窗口。重定向已通过我们的托管服务单独执行。如果我在浏览器中键入URL,则重定向显然有效 我不知所措,因为我从等式中得到了意想不到的结果: var redirectOverlayAppear = function() { if (document.referrer == "www.abc.com" || "www.xyz.com") { redirectTint.style.visibility = "visib

如果用户从他们拥有的多个其他URL重定向,我尝试在我公司的网站上显示一个弹出窗口。重定向已通过我们的托管服务单独执行。如果我在浏览器中键入URL,则重定向显然有效

我不知所措,因为我从等式中得到了意想不到的结果:

var redirectOverlayAppear = function() {

if (document.referrer == "www.abc.com" || "www.xyz.com") {

   redirectTint.style.visibility = "visible"; 

 }

}();
这将生成我的弹出窗口,但不仅仅是从函数中指定的URL,而是当我从指定的其他URL导航时,如果我只是在浏览器中键入新URL,或者即使我导航到Google然后在中键入新URL

如果我在等式中只分离出一个URL,即-

 if (document.referrer == "www.abc.com") {

  redirectTint.style.visibility = "visible"; 

 } ...
什么也没发生

除此之外,我还想知道问题是否在于主机的重定向没有注册,因为它不是一个点击事件

除了document.referer(我已经搜索了一段时间,但没有结果),还有其他方法引用以前的URL吗


任何反馈都将不胜感激

如果那样做的话,您就不能这样做,因为它不是在检查或

if表示如果
document.referer==“www.abc.com”
为真,或者如果
“www.xyz.com”
为真。由于
“www.xyz.com”
始终是真实的,因此它将始终进入if

if (document.referrer == "www.abc.com" || document.referrer == "www.xyz.com") 

document.referer是完整有效的URL。。。不仅仅是一个主持人。。。所以
http://example.com/some/path/page.html
例如
document.referer==“www.abc.com”| |“www.xyz.com”
并不是你想象的那样。。。它不会检查推荐人是一个还是另一个。。。它检查
document.referer==“www.abc.com”
是否为false,然后检查
“www.xyz.com”
是否为“truthy”。。。它是,作为一个非空字符串是真实的。。。这就是为什么你的情况总是正确的