Совместим ли кросс-браузер document.referrer? - PullRequest
11 голосов
/ 24 февраля 2011

Я бы хотел использовать document.referrer для неформальной проверки реферера. Этот элемент кросс-браузер совместим? Будет ли какой-либо браузер выдавать ошибку при попытке ссылки на объект документа?

Ответы [ 3 ]

15 голосов
/ 24 февраля 2011

Свойство document.referrer описано в спецификации DOM:

http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-95229140

Так что должно поддерживаться кросс-браузерно.Тем не менее, вы можете легко определить, поддерживает ли реализация это свойство, например

if( 'referrer' in document ) { 
    console.log(document.referrer);
}
2 голосов
/ 24 февраля 2011

Вы не можете зависеть от него, чтобы определить, поступает ли запрос от браузера (многие не браузерные роботы также отправляют один). Хотя он поддерживается браузерами, они также являются программами конфиденциальности, которые специально не предоставляют его. Иногда это выполняется прокси-сервером ... http://en.wikipedia.org/wiki/HTTP_referrer ... и если доступ к веб-сайту осуществляется через соединение HTTP Secure (HTTPS), а ссылка указывает на незащищенное соединение, то поле реферера будет не отправлено.

Так что ответ да, но с исключениями.

0 голосов
/ 24 февраля 2011

Да. Поддерживается основными браузерами. см .: http://www.w3schools.com/jsref/prop_doc_referrer.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...