【问题标题】:Changing the value of referrer [duplicate]更改推荐人的值[重复]
【发布时间】:2012-12-19 06:12:03
【问题描述】:

可能重复:
How to manually set REFERER header in Javascript?

如何更改document.referrer的值?

我试过了

<body>
<center><a href="test.php" target="_self">self</a></center>
<script type="text/javascript">
    alert( document.referrer);
    document.referrer="test";
    alert( document.referrer);
</script>
</body>

它不起作用,有什么想法吗?

【问题讨论】:

标签: javascript http-referer


【解决方案1】:

不能直接修改referrer,但是可以使用history.pushState()/history.replaceState()将新的URL推送到浏览器历史记录中(前提是你要推送的URL同域),然后在导航的时候离开,新的 URL 将成为引荐来源。

请注意,使用pushState 操作历史记录会添加一个新的历史记录条目,但正在查看的页面保持不变,用户必须按浏览器的“返回”按钮两次才能返回一个实际 页。

但是,如果您使用replaceState,从您想要隐藏引荐来源网址的页面返回将转到新设置的 URL,因此请确保无论您用什么替换它,都会以某种方式将用户重定向回原始页面而不是将它们发送到 404 或完全不同的页面。

【讨论】:

  • 请注意,pushState 函数仅限于同一域策略。不允许更改域。
  • 你是个英雄。谢谢
【解决方案2】:

该属性是只读的 - 这当然意味着您无法更改它。

您可以在此处阅读更多信息:

【讨论】:

    猜你喜欢
    • 2021-05-28
    • 1970-01-01
    • 2023-04-09
    • 2012-08-17
    • 1970-01-01
    • 2016-09-26
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多