Мне нужно открыть ссылку из jQuery, но мне нужно избегать отправки реферальной информации. Короче говоря, мне нужно симулировать rel= "noreferrer"
Возможно ли это?
Мне нужно открыть ссылку из jQuery, но мне нужно избегать отправки реферальной информации. Короче говоря, мне нужно симулировать rel= "noreferrer"
Возможно ли это?
Я думаю, что каждый браузер там автоматически записывает эту информацию на все запросы, и нет возможности напрямую модифицировать ее с помощью JavaScript.
После очистки сети у вас есть несколько вариантов:
Все варианты уродливые, и я бы не рекомендовал их по причинам удобства использования. Я основываю это на старом ответе , но я думаю, что ответы стоят.
Быстрое решение для открытия ссылки без ссылки.
function open_link(url)
{
instance = window.open("about:blank");
instance.document.write("<meta http-equiv=\"refresh\" content=\"0;url="+url+"\">");
instance.document.close();
return false;
}
Испытано. Работа в FF, IE, Chrome.
У вас может быть jQuery написать ссылку с атрибутом rel
, установленным на noreferrer
, а затем вызвать ее с помощью $(link_you_made).click()
.
Не уверен, что вы имеете в виду, открыв ссылку "изнутри jQuery", но установка window.location
напрямую не передает никакой информации о реферере.
Итак, если у вас есть ссылка, которую вы хотите передать никакой реферальной информации, вы можете сделать что-то вроде этого:
$("a").click(function() { window.location = $(this).attr("href"); return false; });
Изменить. Просто было какое-то тестирование, и похоже, что Firefox действительно передает информацию о реферере с помощью изменения window.location
. Поэтому, к сожалению, это не полное/кросс-браузерное решение...
Также, как указывает sczizzo в комментарии ниже, могут быть моменты, когда это не будет надежным (например, я не уверен, если /how click
срабатывает, когда вы посередине щелкните ссылку в Firefox, чтобы открыть это на новой вкладке).