防止浏览器中的后退按钮?

时间:2013-01-27 23:30:14

标签: html forms http web browser

我做了30多分钟的研究,我无法弄清问题是什么。我想阻止用户再次回到浏览器中并再次查看该页面。我该如何预防呢?我进行了大量的研究并查看了我的银行发出的标题,但仍然无法弄清楚问题是什么。

我必须支持firefox但是在其他浏览器上工作也很好。

我发布的标题是(我通过查看我的浏览器认为响应是什么来确认)

Expires: Thu, 01 Jan 1970 00:00:00 GMT
Pragma: No-cache
Cache-Control: no-cache

在html中,我从

开始
<!DOCTYPE html>
<html>
<head>
    <title>The Title</title>
    <link href="/my.css" rel="stylesheet" type="text/css" />
    <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
    <META HTTP-EQUIV="EXPIRES" CONTENT="Thu, 01 Jan 1970 00:00:00 GMT">
    <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</head>

当我提交表单并回复时,我仍然可以看到该页面。我想浏览器说文件已过期/无效或所有html重置,因此表单仍然没有用户数据。我该怎么做?

1 个答案:

答案 0 :(得分:0)

看看History.js by Benjamin Lupton。您可以向onstatechange事件注册事件处理程序,然后阻止默认操作。我们使用jQuery适配器并处理我们自己的历史记录,因为Ajax请求使用这样的方法。

History.Adapter.bind(window, 'statechange', function() {
    var HistoryState = History.getState();
    if (HistoryState) {

        var stateData = HistoryState.data;

        if (stateData) {


        }
    }
});

您应该可以使用e.preventdefault并停止用户返回。

我们使用History.pushState(state, null, '');为数据对象中的每个页面添加状态数据对象,但不确定是否需要任何数据来阻止它们返回。