`
judim
  • 浏览: 40894 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

js处理后退还会提示的问题

    博客分类:
  • js
阅读更多
if(window.name== "current"){
             //如果满足这个条件的话就表示页面是后退来的,
    alert("后退时会执行");
        }else{
            window.name= "current";//给页面命名
            alert("后退不会执行");
           
        }

上页面这个方法不可行
window.name是给当前的窗口命名的。
但可以小改动,借用java的Token机制的思想。有两种情况,下面还有第三种变态的处理方法
a)在点击后退时给"window.name"设值,如“onclick="window.name='back';history.go(-1);"”;然后再小改动一下上面的方法也行
if(window.name== "back"){
             //如果满足这个条件的话就表示页面是后退来的,
    window.name=="current";//改变窗口名,方便下次提交时提示,可以执行else的内容
    alert("后退时会执行");//正常这里是不写内容,不过,上面的这条一定要写
        }else{
    //这里面是要正常提示的内容
            alert("后退不会执行");
          
        }
这个方法是偷工减料的,方便中途修改(因为搜索“history”就可以找出哪些是后退的)。如果开始做处理的后退还会提示的话,就不建议用户这种方法,因为这种方法无法解决点击浏览器的后退。
b)以下这个方法可以解决点击浏览器的后退。会好很多。原理还是一样
在当前提示的页面的前一个连接中,点击时先给"window.name"设值,如“onclick="window.name='prior';"”然后再小改动一下上面的方法也行
if(window.name== "prior"){
             //如果满足这个条件的话就表示页面是“前进”来的,
    window.name=="current";//改变窗口名,再前进,再后退时,window.name为current。当前{}里面的内容就不会执行了
     //这里面是要正常提示的内容    
    alert("这是第一次执行的提示");
        }else{
            alert("这个是后退所会执行的");//正常这里是不写内容,或者直接不写else{}
        }
这个方法呢,做时需要走回头路,如果写的时清楚知道要有提示的话,就不用走回头路了。不然做着的时候发现要有提示,那就要回过头补写了。一般情况下是清楚地
c)小弟还想到了一种方法,但这种方法做起来感觉有点别扭
在要提示的页面中写一个隐藏的文本框<input type="hidden" name="globalMessage" id="globalMessage" value="1"/>,注意不要重名
if($("#globalMessage").val()== "1"){
             //如果等于默认值就表示页面是“前进”来的
    $("#globalMessage").val('0');//改变这个框的值,再前进,再后退时,$("#globalMessage").val()为“0”。当前{}里面的内容就不会执行了
     //这里面是要正常提示的内容    
    alert("这是第一次执行的提示");
        }else{
            alert("这个是后退所会执行的");//正常这里是不写内容,或者直接不写else{}
        }
以上获值是JQ的写法。此方法就要注意先后顺序了。js代码一定要写在后面了,不然的话会找不到ID,测试了一下还行,(部分浏览器不行,如“chrome”)
我个人认为这个方法是最好的了。您想到更好的了吗?欢迎分享(在下分享的是一种思想,其实还有类似的做法)
分享到:
评论

相关推荐

    程序天下:JavaScript实例自学手册

    1.4 页面的后退、刷新、前进 1.5保护网页源代码 1.6 保护自己的网页不被放入框架 1.7 保护自己的网页不被放入框架 1.8 打印页面的出错原因 1.9 当前网页调用其他网页 1.10 倒计时载入页面 1.11 定义网页的关键字 ...

    通过JavaScript注销后的浏览器后退按钮处理

    这个简单的提示/技巧专注于提供一个简单且与浏览器兼容的解决方案。

    《程序天下:JavaScript实例自学手册》光盘源码

    1.4 页面的后退、刷新、前进 1.5保护网页源代码 1.6 保护自己的网页不被放入框架 1.7 保护自己的网页不被放入框架 1.8 打印页面的出错原因 1.9 当前网页调用其他网页 1.10 倒计时载入页面 1.11 定义网页的关键字 ...

    javascript常用对象梳理

    JS中的常用对象[转载]web 技术 2010-06-05 15:00:30 阅读3 评论0 字号:大中小 订阅 [removed] Window For JavaScript 熟练window对象的open、close、alert、confirm、prompt、setTimeout、clearTimeout、...

    KODExplorer 芒果云-资源管理器

    - 文件&文件夹:含有%、+号的处理(显示不出等问题,encoenURIComponent——rawurldecode) - 文件下载,支持大文件下载、断点续传。 - 解决更改排序方式后 ——对应右键菜单不同步问题。 - 优化右键更改列表状态,...

    风讯网站内容管理系统(FoosunCMS) v3.2 Sp1

    23、后台不规则新闻,新建和修改的后退按钮都不起作用的问题 商城模块 1、商品显示大图、小图一样的问题 2、后台管理的时候,商品定单处理,出货的时候出错的问题 3、不使用日期目录的时候,商品浏览页面出错的问题 ...

    AJAX 源码范例

    【后退】问题的空白文件 &lt;br&gt;第14章 程序描述:本章程序将使用Ajax技术实现动态获取数据的树状菜单。当展开菜单时,自动向服务器发送请求,查询该菜单下的子菜单,并在客户端显示子菜单,而无需刷新整个页面...

    asp.net知识库

    帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个...

    出现问题a is defined高手帮忙

    //初始化后退按钮 DragZoomControl.prototype.initBackButton_ = function(buttonContainerDiv) { var G = this.globals; var backButtonDiv = document.createElement('div'); backButtonDiv.innerHTML = G....

Global site tag (gtag.js) - Google Analytics