使用meta http-equiv标签重定向时,如何避免将页面添加到浏览器历史记录中?

12

我有一个网页,通过以下方式将页面重定向到所需的目标URL:

<meta http-equiv="refresh" content="0; URL=$destination.url" />

我想避免浏览器历史记录中出现第一页。

特别是在移动设备上(Android、iOS等),我希望返回按钮能够跳过重定向页面。

2个回答

26

你有两个选择,要么使用真正的HTTP重定向,要么使用JavaScript中的 location.replace

前者更好,但如果由于某种原因无法实现,则可以使用location.replace作为替代方案:

document.location.replace(redirectURL)

location.replace实际上会替换浏览器历史中的当前位置,因此返回按钮将不会返回到重定向页面。如果您这样做,可能还希望包含一个短暂超时的刷新作为备用方案,以防您的用户中有人没有启用JavaScript。


S3与CloudFront结合使用会使HTTP重定向变得非常具有挑战性。如果您对如何实现此操作有任何建议,请务必告知。 - Costa Michailidis

3
你不能这样做。
如果你想重定向,使用HTTP重定向。 <meta> 重定向有很多缺陷,这就是其中之一。

S3与CloudFront结合使用会使HTTP重定向变得非常具有挑战性。如果您对如何实现此操作有任何建议,请务必告知。 - Costa Michailidis
@Costa - 如果您有新的问题,请提出新的问题 - Quentin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接