Как открыть ссылку в jQuery без реферальной информации

Мне нужно открыть ссылку из jQuery, но мне нужно избегать отправки реферальной информации. Короче говоря, мне нужно симулировать rel= "noreferrer"

Возможно ли это?

Ответ 1

Я думаю, что каждый браузер там автоматически записывает эту информацию на все запросы, и нет возможности напрямую модифицировать ее с помощью JavaScript.

После очистки сети у вас есть несколько вариантов:

  • Запустите ссылку из приложения Flash
  • Запустите ссылку из апплета Java.
  • Запустите свой URL-адрес через службу cloaker/spoofer referrer.

Все варианты уродливые, и я бы не рекомендовал их по причинам удобства использования. Я основываю это на старом ответе , но я думаю, что ответы стоят.

Ответ 2

Быстрое решение для открытия ссылки без ссылки.

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.

Ответ 3

У вас может быть jQuery написать ссылку с атрибутом rel, установленным на noreferrer, а затем вызвать ее с помощью $(link_you_made).click().

Ответ 4

Не уверен, что вы имеете в виду, открыв ссылку "изнутри jQuery", но установка window.location напрямую не передает никакой информации о реферере.

Итак, если у вас есть ссылка, которую вы хотите передать никакой реферальной информации, вы можете сделать что-то вроде этого:

$("a").click(function() { window.location = $(this).attr("href"); return false; });

Изменить. Просто было какое-то тестирование, и похоже, что Firefox действительно передает информацию о реферере с помощью изменения window.location. Поэтому, к сожалению, это не полное/кросс-браузерное решение...

Также, как указывает sczizzo в комментарии ниже, могут быть моменты, когда это не будет надежным (например, я не уверен, если /how click срабатывает, когда вы посередине щелкните ссылку в Firefox, чтобы открыть это на новой вкладке).