0
如果用戶被重定向到他們自己的多個其他URL,我試圖在公司的網站上顯示一個彈出窗口。重定向已通過我們的託管服務單獨執行。如果我在瀏覽器中輸入網址,重定向顯然是有效的。document.referrer引用我的函數範圍之外的URL
我不知所措,當我越來越從我的公式非常意外的結果:
var redirectOverlayAppear = function() {
if (document.referrer == "www.abc.com" || "www.xyz.com") {
redirectTint.style.visibility = "visible";
}
}();
這會產生彈出我的,而不是僅僅從功能指定的URL,但是,當我瀏覽從我們指定的其他網址,如果我只是在瀏覽器中鍵入新網址,或者即使我導航到谷歌,然後鍵入新的網址。
如果我只隔離一個網址,即 -
if (document.referrer == "www.abc.com") {
redirectTint.style.visibility = "visible";
} ...
什麼也沒有發生。
除了其他的事情之外,我轉向瞭解問題是否來自主機的重定向沒有註冊,因爲它不是點擊事件。
除了document.referrer(我一直在尋找一段時間,並且無處可去)之外,還有別的方法可以引用以前的URL嗎?
任何反饋將不勝感激!
document.referrer是一個完整有效的URL ......不只是一臺主機...所以通過'http:// example.com /一些/路徑/例如 –
'document.referrer = page.html' =「www.abc.com」|| 「www.xyz.com」不是你認爲的......它不檢查引用者是否是其中一個......它檢查是否存在「document.referrer ==」www.abc.com「 '這是錯誤的,所以它然後檢查'www.xyz.com''是否是「truthy」......它是一個非空字符串是真的...這就是爲什麼你的條件總是** **是真的 –