我最近发布了一个关于我的问题here的问题。
当我点击提交按钮或链接时,我不希望用户点击按钮或链接的页面的历史记录被记录在浏览器中。
我收到了使用history.pushState()
的建议。但我不熟悉这个功能,我迫切需要解决方案才能工作。
我仍然不确定该做什么。但有人可以建议我是否可以用它来解决我的问题。
<input type="submit" onclick="location.replace(this.href); return false;"/>
<a href="foo.jsp" onclick="location.replace(this.href); return false;">Continue</a>
示例:我有一个页面bar.html
,其中包含<a href="foo.html">Foo</a>
链接。当用户点击该链接时,应将其重定向到foo.html
,并且不应记录bar.html
的浏览器历史记录,以便用户无法使用“返回”按钮返回此页面。
编辑另外,如何强制浏览器不将某个页面存储在缓存中,以便下次用户访问时,浏览器会向服务器请求该页面。
答案 0 :(得分:0)
对于使用JS的更改页面,请使用以下代码:
<a href="foo.jsp" onclick="location.href=this.href; return false;">Continue</a>
但我不确定它的历史作品。
答案 1 :(得分:0)
以下是一个工作示例:
文件: a.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>A</title>
</head>
<body>
<h1>A</h1>
<a href="b.html">B</a>
</body>
</html>
文件: b.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>B</title>
<script>
window.location.replace('c.html');
</script>
</head>
<body>
<h1>B</h1>
<a href="c.html">C</a>
</body>
</html>
文件: c.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>B</title>
</head>
<body>
<h1>C</h1>
</body>
</html>