-1

我最近在这里发布了一个关于我的问题的问题

当我单击提交按钮或链接时,我不希望用户单击按钮或链接的页面历史记录在浏览器中。

我收到了使用的建议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应该被记录,这样用户就不能使用 BACK 按钮回到这个页面。

编辑:另外,我怎样才能强制浏览器不将某个页面存储在缓存中,所以下次用户访问时,浏览器会向服务器请求该页面。

4

2 回答 2

0

对于带有 JS 的 chnage 页面,使用如下代码:

<a href="foo.jsp" onclick="location.href=this.href; return false;">Continue</a>

但我不确定它的历史工作。

于 2013-05-21T04:01:32.983 回答
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>
于 2015-03-20T09:19:46.927 回答