首页 >> 读书频道 >> 电脑 >> 防止使用者按上一頁按鈕
 
· 利用On Error R
· 如何處理資料庫中的Nul
· 动态Include文件的
· 控制弹出窗口-&
· 代码分离办法
· 在http和https之
· 关于错误信息的显示
· 关于页面缓存清除的方法小
· 实现支持逻辑搜索/单词搜
· 最简洁的多重查询的解决方
· 监测站点使用多少sess
· 本函数计算两个时间的差
 
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 红楼梦:120回全本[清
· 武林寓言故事
· 2006高考录取规则
· 首批中国世界名牌产品和2
· 济南美食大全
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

防止使用者按上一頁按鈕


查看有无更新版本

关键字:ASP 2006-8-28

 

 讨论区上常有网友问到这个问题, 如何防止使用者按回上一页按钮, 為何会问这一个问题? 应该通常是在防止使用者重复执行一个应用程式, 例如资料库的新增, 如果使用者按了回上一页, 有可能会造成重复新增资料, 今天这篇文章就要介绍如何 "尽可能" 的防止使用者按回上一页

伺服端防止快取
首先来看看伺服端的方法, ASP 的 Response 物件提供了几个网页快取 (cache) 相关的属性, 说明如下
属性 说明
CacheControl 判断代理伺服器 (Proxy Server) 是否快取 ASP 的输出结果
Expires 网页快取的逾期时间
ExpiresAbsolute 指定网页快取的逾期时间

所以如果你要防止网页被快取, 你可以这麼做
<%
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
%>
利用这个方法, 使用者还是可以回到上一页, 但由於网页并没有被快取, 所以瀏览器必须重新向伺服器作 Http 请求, 也就是这个网页会被重新整理 (Refresh)
用户端防止快取
你也可以使用用户端 (Client-side) 的方式,
<html>
<head>
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
</head>
和伺服端的方法產生的结果是一样的, 但有几点要注意
Pragma : 当使用安全连结时才使用 Pragma, 如果在非安全连结使用, 那麼效果和 Expires : -1 是相同的, 也就是这个网页还是会被快取, 但会立即逾时
meta http-equiv 标籤的 cache-control 并不适用於 Internet Explorer 4, 5 版本
移除工具列
这个方法是在网路上看来的, 有点趣味所以也介绍一下, 做法是这样的, 利用 window.open 方法来开新视窗, 然后关掉原视窗, 但重点是在开视窗时将工具列移除
<script language="javascript">
<!--
function openWindow(url){
newpage = window.open(url,'newpage','toolbar=no');
newpage.focus();
self.close();
}
//-->
</script>
<a href="javascript:openWindow('nextpage.html');">下一页</a>
也是一种方法, 但应该很少人会用, 有一点麻烦! 况且按滑鼠右键所出现的 Menu 中也有回上一页的选项, 此法谨防君子不防小人!
使用 location.replace
Javascript location 物件的 replace() 方法会以指定的网址覆盖瀏览器目前瀏览歷史纪录, 也就是当你用了这个方法, 瀏览器就会忘掉过去曾经瀏览的纪录, 就亲像你第一次开啟瀏览器一样, 上一页的按钮是灰的
你可以这麼做
<a href="Javascript:location.replace('nextpage.html')">下一页</a>
看起来这大概是目前最好的方法! 不过还是有一些缺点, 因為并不是所有的情况都可以套用, 譬如讲当你使用 Response.Redirect 时, 这个方法就派不上用场了!
可以归纳出一个结论, 就是要完全关闭瀏览器回上一页的功能是不可能的 (目前的瀏览器), 唯一能做的是因时因地制宜, 结合以上的方法尽可能的防止使用者按回上一页!
希望这篇文章对你有帮助!

防止使用者按上一頁按鈕

[ 1 ]
防止使用者按上一頁按鈕 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑