【问题标题】:How to open new tab without losing referer?如何在不丢失引用者的情况下打开新标签?
【发布时间】:2014-12-25 13:27:01
【问题描述】:

我的目的是在不丢失引用者的情况下打开新标签。所以,我有这个代码:

$(document).click(function() {
    window.open('http://www.google.com', '_blank');
});

它就像一个魅力,但当我使用 IE 浏览器时它不会保留引用。我搜索并查看以下代码,但我不知道如何应用到我的问题。

<form action="http://google.com" method="get" name="redirect"></form>
<script> document.forms['redirect'].submit() </script>

那么,有什么方法适用于所有浏览器?

【问题讨论】:

  • 你能添加一个url参数作为你的referer吗?无论如何,推荐人通常被认为是可疑的
  • 嗨,我不太明白你在说什么@TobyAllen
  • 为什么要保留referer?你能打开一个带有 www.mywebsite.com?referer=myotherwebsite.com 的页面,然后在你的新页面中阅读。
  • 如果您提交表单&lt;form action='http://google.com' target=_blank &gt;&lt;input type=submit&gt;&lt;/form&gt;会发生什么?
  • @TobyAllen,google_analytics 需要它:D

标签: javascript jquery redirect browser


【解决方案1】:
<input type="text" name="q" onkeypress="doit(event,this.value)"/>

<script type="text/javascript">
function doit(e,value){
if (e.which == 13){//or e.keyCode
     window.open('http://www.google.com/?#q='+value, '_blank');
  }
}
</script>

编辑:您不需要表单,只需使用输入和 javascript 函数来检查用户是否点击输入,然后使用用户输入的值打开新页面。

【讨论】:

  • 请在您的纯代码答案中添加解释。
【解决方案2】:

在 Internet Explorer 4.0 及更高版本中从一个文档链接到另一个文档时,如果链接是从 HTTPS 页面到非 HTTPS 页面,则不会发送 Referer 标头。当链接来自非 HTTP(S) 协议(例如 file://)到另一个页面时,Referer 标头也不会被发送。 欲了解更多信息,请访问link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2012-08-18
    • 2020-09-29
    • 1970-01-01
    相关资源
    最近更新 更多