liushuli81
小狐狸
小狐狸
  • UID47619
  • 注册日期2014-10-22
  • 最后登录2014-10-22
  • 发帖数1
  • 经验2枚
  • 威望0点
  • 贡献值4点
  • 好评度0点
阅读:1544回复:2

想做一个火狐的关闭监控,onbeforeunload 在Firefox上 没有反应

楼主#
更多 发布于:2014-10-22 09:56
做火狐关闭 监控 写的方法无效 不知道哪个大神知道啊
var flag = true;
window.onbeforeunload = function (ev) {//关闭浏览器
    if (flag) {
       var evt = window.event || arguments[0];
       var userAgent = navigator.userAgent;
       if (userAgent.indexOf("MSIE") > 0) {
           var n = window.event.screenX - window.screenLeft;
           var b = n > document.documentElement.scrollWidth - 20;
           if (b && window.event.clientY < 0 || window.event.altKey) {
               window.event.returnValue = ("IE该操作将会导致非正常退出系统(正确退出系统方式:点击退出系统按钮),您是否确认?");
           }else {
               return ("该操作将会导致非正常退出系统(正确退出系统方式:点击退出系统按钮),您是否确认?");
           }
       }else if (userAgent.indexOf("Firefox") > 0) {
           alert(2);
          // window.event.returnValue = ("火狐上操作将会导致非正常退出系统(正确退出系统方式:点击退出系统按钮),您是否确认?");
              // return ("火狐该操作将会导致非正常退出系统(正确退出系统方式:点击退出系统按钮),您是否确认?");
       }else if(userAgent.indexOf("Chrome") > 0){
           return ("谷歌上操作将会导致非正常退出系统(正确退出系统方式:点击退出系统按钮),您是否确认?");
       }
    }
}  这个是我写的例子 ie 谷歌都行
taoww
非常火狐
非常火狐
  • UID39284
  • 注册日期2013-03-18
  • 最后登录2025-04-21
  • 发帖数662
  • 经验607枚
  • 威望0点
  • 贡献值110点
  • 好评度114点
1楼#
发布于:2014-10-22 11:22
window.event是IE的东西,其他浏览器上都别用。
事件处理最好用addEventListener/attachEvent,别直接写到属性,说不定什么东西就给你覆盖了。
一段简化版的兼容代码:
(window.attachEvent || window.addEventListener)((window.attachEvent ? 'onbeforeunload' : 'beforeunload'), function(e) {
    var confirmationMessage = 'Are you sure?';
    (e || window.event).returnValue = confirmationMessage;
    return confirmationMessage;
});
另外从firefox 4开始,就不再理会代码返回的消息了。自己用confirm询问用户也是不靠谱的,详见 https://developer.mozilla.org/en-US/docs/WindowEventHandlers.onbeforeunload
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
2楼#
发布于:2014-10-22 10:30
https://developer.mozilla.org/en-US/docs/WindowEventHandlers.onbeforeunload#Notes
问之前可以自己搜一下onbeforeunload
在google搜索结果中
这个mdn的链接排在第一呢
游客

返回顶部