Document.referrer пуст при навигации с внешнего URL?

У меня есть следующий код:

var previousPageUrl= document.referrer;
alert(previousPageUrl);

Это не будет работать, если предыдущий URL-адрес страницы какого-либо внешнего сайта, т.е. не моего приложения.

Например:

Если я нахожусь на странице 1 и захожу на страницу 2 своего приложения, тогда я получу URL страницы 1 в реферере при загрузке страницы 2, но когда я перехожу на внешний сайт, произнесите www.google.com, затем снова, когда я вернусь на страницу 1, Я не получу www.google.com в качестве URL реферала.

Может кто-нибудь сказать, чтобы решить эту проблему.

Ответ 1

Как правило, URL-адреса рефералов передаются между несвязанными сайтами, когда навигация происходит из-за ссылки или навигации на основе JavaScript. URL-адреса отправителя НЕ отправляются, если пользователь использует браузер Chrome (например, адресную строку, кнопки назад/вперед/и т.д.) Для навигации.

В целях безопасности/конфиденциальности URL-адрес референта удаляется при переходе с сайта HTTPS на сайт HTTP (например, от https://google.com до http://example.com). Его также можно упрекнуть с помощью различных трюков JavaScript и HTML. Невозможно отключить это поведение, чтобы получить URL-адрес референта, если он был удален.