700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > window.onbeforeunload方法在IE下无法正常工作的解决办法【javascript】

window.onbeforeunload方法在IE下无法正常工作的解决办法【javascript】

时间:2022-11-10 23:18:22

相关推荐

window.onbeforeunload方法在IE下无法正常工作的解决办法【javascript】

web前端|js教程

IE,onbeforeunload

web前端-js教程

事件的起因是由于在工作中有客户反映,常常会有用户在浏览网页的过程中订购了商品,但是由于用户一下子打开的窗口过多,又或者在敲打键盘时,错误地按到了F5键,导致页面刷新或者不正常关闭,而这时在该网页上所做的一切操作的信息都丢失了,如果我们可以提供一个在客户信息未处理完成时的提示那该多好啊,下面的代码可以做到不管用户是点击了关闭,或者是在任务栏关闭、点击后退、刷新、按F5键,都可以检测到用户即将离开的消息。

中科院分词源码移植,vscode 关键词定义,Ubuntu自检,tomcat不能部署项目,sqlite raise,无边界网页设计,oracle数据库怎么建序列,三星手机邮箱无法连接到服务器,html 视频插件 手机,前端框架dwz,爬虫大屏,php field,中山seo排名公司,springboot配置锁,小米商城网站模板,网页游戏源码 百度网盘,响应式管理系统模板,描述b2c的后台业务流程,js日历 页面加载 即完成 下载,会员综合管理系统源码,php社交程序源码lzw

function bindunbeforunload()

{

window.onbeforeunload=perforresult;

}

function unbindunbeforunload()

{

window.onbeforeunload=null;

}

function perforresult()

{

return"当前操作未保存,如果你此时离开,所做操作信息将全部丢失,是否离开?";

}

只需要将bindunbeforunload()方法注册到要检测的页面上即可,你可以在body的onload或者document.ready中注册这个方法,在这里我们采用的是window.onbeforeunload,即是在页面即将卸载之前弹出提示框,好的,现在来测试一下,测试代码:

源码设计公司,手机ubuntu安教程,tomcat服务器编码集,夏天爬虫笔记,阅读即焚php源码,湘西网络seolzw

this is id onbeforunload event test

function bindunbeforunload()

{

window.onbeforeunload=perforresult;

}

function unbindunbeforunload()

{

window.onbeforeunload=null;

}

function perforresult()

{

return"当前操作未保存,如果你此时离开,所做操作信息将全部丢失,是否离开?";

}

test is start

上面的代码就是我此次测试的所有代码了,现在刷新页面,嗯,很好,弹出了我们期望中的对话框。但是当我在IE下打开上述代码时,我的“删除事件绑定按钮”没有发挥作用,这让我很崩溃,国内3分之2的用户都在使用IE,特别是在使用该死的IE6、7,如果我的代码不能在IE6、7下正常的工作,那相当于我的工作是白做了,当然,奖金的那些事情就更不用想了。办法都是人想出来的,好吧,我利用一个全局变量来控制是否弹出对话框,修改后的”javascript”代码如下:

.net三层架构源码,vs 与vscode的区别,ubuntu系统中断,tomcat怎么清日志,床垫上爬虫,php 正则匹配图片地址,浙江完善seo优化格式化,织梦更换网站源码,政府宣传模板lzw

var goodexit=false;

function bindunbeforunload()

{

goodexit=false;

window.onbeforeunload=perforresult;

}

function unbindunbeforunload()

{

goodexit=true;

window.onbeforeunload=null;

}

function perforresult()

{

if(!goodexit)

{

return"当前操作未保存,如果你此时离开,所做操作信息将全部丢失,是否离开?";

}

}

同时调用删除绑定事件时,将变量goodexit的值更改为:true,表示用户是正常退出,这样自然不会弹出对话框了。

再测试一下,正常了,对,这就是我想要的结果!

本篇文章源于从Brandon Himes处而得,并且还是从google快照,源文链接已找不到,本来想翻译的,但是本人水平实在有限,看得懂而已,如果翻译得不好反而招骂,如果朋友们想看源文,请直接点击这里,这是快照地址,可能一段时间后就不存在了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。