我做了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重置,因此表单仍然没有用户数据。我该怎么做?
答案 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, '');
为数据对象中的每个页面添加状态数据对象,但不确定是否需要任何数据来阻止它们返回。