Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jQuery中打开链接而不使用转介信息_Jquery - Fatal编程技术网

如何在jQuery中打开链接而不使用转介信息

如何在jQuery中打开链接而不使用转介信息,jquery,Jquery,我需要在jQuery中打开一个链接,但我需要避免发送推荐信息。简而言之,我需要模拟rel=“noreferrer” 它可行吗?我认为每个浏览器都会自动将这些信息添加到所有请求中,并且无法直接用JavaScript修改它 浏览完网站后,您确实有几个选择: 从Flash应用程序中启动链接 从Java小程序中启动链接 通过推荐人伪装/欺骗服务运行您的URL 所有选项都很难看,出于可用性原因,我不推荐它们。我是基于一个旧的Google Answers,但我认为答案是正确的。您可能让jQuery编写一个链

我需要在jQuery中打开一个链接,但我需要避免发送推荐信息。简而言之,我需要模拟rel=“noreferrer”


它可行吗?

我认为每个浏览器都会自动将这些信息添加到所有请求中,并且无法直接用JavaScript修改它

浏览完网站后,您确实有几个选择:

  • 从Flash应用程序中启动链接
  • 从Java小程序中启动链接
  • 通过推荐人伪装/欺骗服务运行您的URL

  • 所有选项都很难看,出于可用性原因,我不推荐它们。我是基于一个旧的Google Answers,但我认为答案是正确的。

    您可能让jQuery编写一个链接,将
    rel
    属性设置为
    noreferrer
    ,然后用
    $(您创建的链接)调用它。单击()

    不确定“从jQuery内部”打开链接是什么意思,但是直接设置
    window.location
    不会传递任何推荐人信息

    因此,如果你有一个链接,你不想传递转介信息,你可以这样做:

    $("a").click(function() { window.location = $(this).attr("href"); return false; });
    
    编辑:刚刚做了一些测试&看起来Firefox确实通过
    窗口传递了推荐人信息。位置
    改变。不幸的是,这不是一个完整的/跨浏览器的解决方案


    同样,正如sczizzo在下面的评论中指出的那样,有时这可能不可靠(例如,我不确定当你在Firefox中用鼠标中键单击一个链接以在新选项卡中打开它时,
    click
    是否/如何触发)。

    一个快速解决方案,可以不打开任何引用链接

    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;
    }
    
    函数打开链接(url)
    {
    instance=window.open(“about:blank”);
    instance.document.write(“”);
    instance.document.close();
    返回false;
    }
    

    测试。在FF,IE,Chrome中工作。

    这是HTML5的一项功能,我认为只有最新的Webkit浏览器支持它。确切地说,在Chrome中它工作得非常完美。ffx 3.6没有那么多。即。。。不可能。我不确定这是否会像预期的那样起作用。浏览器可能会完全绕过jQuery的事件处理程序。@sczizzo:你是对的(见更新的答案),但我认为没有任何简单的方法可以做到这一点(除了Cory Larson建议使用flash之类的工具之外),我认为这是最简单的答案,至少能覆盖大多数情况。知道窗口位置不会削减它是有帮助的,但是这个答案是超级进化的,这不是一个论坛,而是一个问答网站,考虑重新措辞它。谢谢