Как я могу обнаружить поддержку 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.

Другие вопросы по тегам