Как я могу обнаружить поддержку rel="noreferrer"?
Можно ли как-нибудь обнаружить поддержку rel="noreferrer" с помощью Javascript?
<a href="http://example.com" rel="noreferrer">link without referral</a>
Решение - $.browser устарела и может быть перемещена в плагин в будущем выпуске jQuery.
var is_webkit = $.browser.webkit;
if(is_webkit) {
alert('supports rel="noreferrer"');
}
2 ответа
Нет, нет. Заголовки реферера находятся вне домена JavaScript.
Если это особенно важно, вы можете проверить, является ли браузер (navigator.userAgent
) известно, что он поддерживает или не поддерживает noreferrer
,
Я обнаружил поддержку noreferrer, создав скрытый iframe с name
атрибут, а затем я создаю <a rel="noreferrer">
связь с его target
атрибут, равный iframe's name
атрибут, и иметь ссылку на любой ресурс в текущем домене. Ссылка на about:blank
также работает, но у него есть проблемы в Firefox и IE, поэтому вместо этого вам следует ссылаться на намеренно пустой файл на вашем сервере. После загрузки ресурса в iframe, проверьте, что [the iframe].contentDocument.referrer === ""
, Если это правда, noreferrer
поддерживается.
Пример моей реализации доступен в hotlink.js. В частности, смотрите on_ready.