起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2062|回复: 1

[分享] jquery 关闭窗口时 显示确认导航 window.onbeforeunload

[复制链接]

90

主题

703

帖子

1026

积分

金牌会员

Rank: 6Rank: 6

积分
1026
QQ
发表于 2016-10-5 18:11:25 | 显示全部楼层 |阅读模式
unload事件在火狐和Chrome中对alert是阻止弹出的,所以你的代码看不到效果。
详见:http://stackoverflow.com/questions/6063522/jquery-beforeunload

但unload事件可以进行一些对象销毁,事件解除绑定等清理工作,这通常是难以看到的。

在IE10中,刷新可以看到弹出alert。

如果你想在用户离开页面之前确认是否离开,最好使用beforeunload事件在beforeunload事件里,不需要alert,该事件会自动产生一个弹出框,
就算你加了alert也是没效果的。
另外,要使beforeunload事件能自动弹出框,必须得有返回值,如:
JavaScript code
$(window).on('beforeunload', function(event) {   
var message = 'I’m really going to miss you if you go.';
event.returnValue = message;
return message;
});


上面的代码可以达到关闭、点击链接、输入地址都窗口弹出框的效果。
把返回值message设为你想显示的信息

90

主题

703

帖子

1026

积分

金牌会员

Rank: 6Rank: 6

积分
1026
QQ
 楼主| 发表于 2016-10-5 18:12:16 | 显示全部楼层
Model.prototype.modelLoad = function(event){
                var me = this;
                // 如果不是IE9 , 可以设置onbeforeunload
                        //if (!justep.Browser.IE9) {
                                debugger;
                       
                                window.onbeforeunload = function() {
                                        //if (me.logined && !me.isReloadMode && !me.isDebugMode)
                                                //this.comp("messageDialog1").show();
                                                return "退出会导致未保存的数据丢失?";
                                               
                                };
                        //}
               
        };
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-2 04:34 , Processed in 0.061007 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表