У меня есть простой JS для перенаправления пользователя от страницы на основе нескольких условий.Не уверен, что document.referrer работает
var lastPage = document.referrer;
var currentPage = window.location.href;
var myElem = document.getElementById('topframe.login.label');
if (currentPage == "https://de.com.edu/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_1_1")
{
if (myElem != null && lastPage != "http://www.com.edu/")
{
window.location.replace("https://de.com.edu/webapps/login/?action=relogin");
}
}
В принципе, если пользователь попадает на первую ссылку, проверил в currentPage
я хочу увидеть, если они пришли с адреса http://www.com.edu
и если не перенаправлять их с помощью window.location.replace
.
Проблема в том, что этот код работает независимо от того, что (например, пользователь всегда перенаправляется). Я понятия не имею, какое значение получает lastPage
, и я не вижу никаких ошибок в консоли разработчика в Chrome. Есть что-то немое, что я делаю неправильно? Я подтвердил, что http://www.com.edu
- это точный URL-адрес, который я ищу, и попробовал его как с обратной косой чертой в конце, так и без нее.
_ «Я не знаю, какое значение lastPage получает» _ - ну тогда отключите перенаправление и запишите это значение в консоль - D'oh! – CBroe
изменить '&& lastPage! =" Http://www.com.edu/ "' to '&& lastPage && lastPage! =" Http://www.com.edu/ "'; иногда реферер не существует по целому ряду причин. – dandavis
Плохая идея полагаться на 'document.referrer' на что-то. – Pointy