`

在IE中如何让用户按“后退”键失效.

阅读更多

一. 我们也可以用客户端代码使浏览器不再缓存Web页面:          
     
    <html     >          
    <head     >          
    <meta     http-equiv=     "Expires     "     CONTENT=     "0     "     >          
    <meta     http-equiv=     "Cache-Control     "     CONTENT=     "no-cache     "     >          
    <meta     http-equiv=     "Pragma     "     CONTENT=     "no-cache     "     >          
    </head     >          
     
         如果使用上面的方法强制浏览器不再缓存Web页面,必须注意以下几点:          
  只有在使用安全连接时“Pragma:     no-cache”才防止浏览器缓存页面。对于不受安全保护的页面,“Pragma:     no-cache”      
  被视为与“Expires:     -1”相同,此时浏览器仍旧缓存页面,但把页面标记为立即过期。          
  在IE     4或5中,“Cache-Control”META     HTTP-EQUIV标记将被忽略,不起作用。          
         在实际应用中我们可以加上所有这些代码。然而,由于这种方法不能适用于所有的浏览器,所以是不推荐使用的。但      
  如果是在Intranet环境下,管理员可以控制用户使用哪种浏览器,我想还是有人会使用这种方法。           
      
  二、其他方法          
         接下来我们要讨论的方法以后退按钮本身为中心,而不是浏览器缓存。这儿有一篇文章Rewiring     the     Back     Button很      
  值得参考。不过我注意到,如果使用这种方法,虽然用户点击一下后退按钮时他不会看到以前输入数据的页面,但只要点      
  击两次就可以,这可不是我们希望的效果,因为很多时候,固执的用户总是能够找到绕过预防措施的办法。          
         另外一种禁用后退按钮的办法是用客户端JavaScript打开一个没有工具条的窗口,这使得用户很难返回前一页面,但      
  不是不可能。一种更安全但相当恼人的方法是,当表单提交时打开一个新的窗口,与此同时关闭表单所在的窗口。但我觉      
  得这种方法不值得认真考虑,因为我们总不能让用户每提交一个表单就打开一个新窗口。          
         那么,在那个我们不想让用户返回的页面是否也可以加入JavaScript代码呢?在这个页面中加入的JavaScript代码可      
  用来产生点击前进按钮的效果,这样也就抵消了用户点击后退按钮所产生的动作。用于实现该功能的JavaScript代码如下      
  所示:          
     
    <script     language=     "JavaScript     "     >          
    <!--          
  javascript:window.history.forward(1);          
  //--     >          
    </script     >          
     
         同样地,这种方法虽然有效,但距离“最好的方法”还差得很远。后来我又看到有人建议用location.replace从一个      
  页面转到另一个页面。这种方法的原理是,用新页面的URL替换当前的历史纪录,这样浏览历史记录中就只有一个页面,后      
  退按钮永远不会变为可用。我想这可能正是许多人所寻求的方法,但这种方法仍旧不是任何情况下的最好方法。使用这种      
  方法的实例如下所示:          
     
    <A     HREF=     "PageName.htm     "     onclick=     "javascript:location.replace(this.href);          
     
  event.returnValue=false;         "     >          
     
  禁止后退到本页面的链接     </A     >          
         禁止后退到本页面的链接!          
         这种方法的缺点在于:简单地运用Response.Redirect将不再有效,这是因为每次用户从一个页面转到另一个页面,      
  我们都必须用客户端代码清除location.history。另外还要注意,这种方法清除的是最后一个访问历史记录,而不是全部      
  的访问记录。          
         点击上面的链接,你将打开一个简单的HTML页面。再点击后退按钮,你可以看到这时打开的不是本页面,而是本页面      
  之前的页面!(当然,你必须在浏览器中启用了客户端JavaScript代码。)          
         经过一番仔细的寻寻觅觅之后,我发现仍旧无法找出真正能够完全禁用浏览器后退按钮的办法。所有这里介绍的方法      
  都能够在不同程度上、以不同的方式禁止用户返回前一页面,但它们都有各自的局限。由于不存在能够完全禁用后退按钮      
  的方法,所以最好的方案应该是:混合运用客户端脚本和服务器端脚本。          
     
  ---------------------------------------------------------------       
      
  "后退",不过不管哪个键,你都可以参见以下的方法实现:      
  用js,代码如下     <body     onkeydown=     "if(event.keyCode==8)event.returnValue=false     "     >上面的8为backspace的键码      
     
  你可以用下面的方法获得所需键码(键码显示在状态栏中)      
    <body     onkeydown=     "window.status=event.keyCode     "     >

分享到:
评论

相关推荐

    如何修复IE8的后退键失效.docx

    在使用Internet Explorer 8(以下简称IE8)时,用户可能会遇到一个问题,即浏览器的后退键突然失效,无法像往常一样浏览历史记录返回到上一个页面。这可能是由于浏览器的安全设置或者某些脚本设置导致的。为了解决这...

    javascript怎么禁用浏览器后退按钮

    以下是一个示例代码,它定义了一个`banBackSpace`函数用于处理键盘事件,以禁止在密码或文本框输入以外的情况下,用户按Backspace键后退。这种方法能够不影响密码、单行文本框和多行文本框的回退操作。 ```...

    对ajax前进后退的处理

    当用户点击前进或后退按钮时,浏览器会触发这个事件,我们可以在事件处理函数中根据新的`hash`值加载相应的数据,从而实现无刷新的页面导航。 以下是一个简单的实现步骤: 1. 监听`hashchange`事件: 使用...

    javascript禁制后退键(Backspace)实例代码

    在JavaScript编程中,有时我们可能需要禁用浏览器的默认行为,比如禁制用户按下后退键(Backspace)的功能。这通常在特定场景下进行,比如防止用户在输入表单时误触后退键导致数据丢失。下面我们将详细讨论如何通过...

    IE恢复器

    2. **浏览器按钮失效**:某些情况下,前进、后退、刷新、停止等IE浏览器上的功能按钮可能无法正常使用。此软件通过识别并修复相关设置,使这些按钮恢复正常功能。 3. **注册表问题**:注册表是Windows系统中存储...

    JavaWeb页面中防止点击Backspace网页后退情况

    在JavaWeb开发中,用户可能会使用浏览器的后退键(Backspace)来返回之前的页面,但这在某些场景下可能不希望发生,例如在用户进行重要操作或者数据提交之后。为了解决这一问题,开发者可以采取措施来阻止Backspace...

    IE9 鼠标手势

    【标题】"IE9 鼠标手势"指的是在Internet Explorer 9浏览器中实现的一种增强用户交互的功能,它使得用户可以通过特定的鼠标动作执行一系列预设的操作,类似于一些第三方浏览器提供的鼠标手势功能。这种功能提高了...

    易语言ie句柄

    "ie句柄"是易语言中用于操作Internet Explorer浏览器的一个重要概念,它是浏览器窗口的一个标识,通过这个句柄,我们可以对IE进行各种控制,比如获取网页内容、模拟用户操作等。 在易语言中,获取IE句柄通常是通过...

    banner-按钮全屏切换

    3. **按钮切换**:在全屏切换的Banner中,为了方便用户控制轮播的进程,通常会提供前进和后退的按钮。这些按钮可以是图标形式,也可以是文字,比如"上一张"和"下一张"。用户点击按钮,Banner图片就会按照预设顺序...

    纯ajax

    3. 前进后退问题:Ajax请求不会改变浏览器历史记录,可能导致前进后退功能失效。 4. 用户体验问题:若网络连接不稳定,可能造成页面加载不完整。 总结,Ajax技术是现代Web开发中的重要工具,通过它可以构建更加交互...

    web 屏蔽BackSpace键实例代码

    在Web开发中,有时我们需要避免用户在特定情况下误操作导致页面回退,特别是在表单填写时,用户可能会在文本框失去焦点后按下退格键,从而意外地使浏览器后退到上一个页面。针对这个问题,我们可以编写JavaScript...

    什么是Ajax?Ajax的优缺点.pdf

    2. **导航问题**:Ajax更新的内容不会被浏览器的历史记录跟踪,导致前进和后退功能失效。 3. **搜索引擎友好性**:搜索引擎爬虫主要依赖静态HTML,无法理解通过JavaScript动态加载的内容,可能影响SEO。 4. **开发...

    JavaScript如何禁止Backspace键

    时有一个奇怪的问题:如果光标进入只读文本框,然后按下Backspace键,就会跳转到上一个页面,效果就像点击了浏览器的后退按钮返回前一个页面一样,而在火狐和google下没有这样的问题出现,为了解决这个问题,写了一...

    JS禁用浏览器退格键实现思路及代码

    在Web开发中,有时出于数据完整性和用户体验的考虑,我们需要对用户的某些操作进行限制。例如,有些特定场景下,我们可能不希望用户使用浏览器的后退键或退格键(Backspace)来删除已经填写的内容。通常,这类需求...

    js使用小技巧

    ENTER键可以让光标移到下一个输入框 (event.keyCode==13)event.keyCode=9"&gt; 文本框的默认值 (this.defaultValue)"&gt; title换行 obj.title = "123&#13sdfs&#32" 获得时间所代表的微秒 var n1 = new Date("2004-...

    javascript的document.referrer浏览器支持、失效情况总结

    JavaScript中的`document.referrer`属性是用来获取当前页面的来源URL,即用户是从哪个页面跳转过来的。这个属性在Web开发中常用于流量统计、页面分析等场景,以了解用户的浏览路径。然而,`document.referrer`并非...

    什么是Ajax?Ajax的优缺点.docx

    在IE5和6中,XMLHttpRequest首次被引入,但其他浏览器也有支持。 3. **数据交换**:数据通常以XML或JSON格式发送到服务器。XML是一种结构化的数据格式,适合复杂的数据交换,而JSON更为简洁,易于解析,现在更常用于...

    ajax 验证ppt

    4. **页面历史和前进/后退功能**:默认情况下,使用Ajax加载的内容不会改变浏览器的URL,导致前进/后退按钮失效,需要额外处理。 **Ajax的进阶应用** 1. **jQuery和库的支持**:jQuery等JavaScript库提供了更简洁...

    Ajax技术

    2. 页面刷新导致的导航问题,如前进和后退功能可能失效。 3. 隐式异步可能导致用户困惑,不清楚何时完成操作。 **Ajax的开发策略:** 1. **模块化**:将Ajax请求封装成独立的函数或模块,便于复用和维护。 2. **...

    屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码

    在Web开发中,有时出于用户体验或安全考虑,开发者可能需要限制用户的一些默认行为,比如禁止使用鼠标右键、快捷键等。本文将详细介绍如何通过JavaScript代码实现屏蔽鼠标右键、Ctrl+n、Shift+F10、F5刷新、退格键等...

Global site tag (gtag.js) - Google Analytics