360fans_59132071 发表于 2025-8-13 11:03

360极速中使用了beforeunload 返回了return “”。但是页面还是弹框,是什么问题

handleBeforeUnloadOrder(event) {
            let confirmationMessage = "";
            let isAlert = false;
            for (let i = 0; i < this.tableData.length; i++) {
                let obj = this.tableData;
                let isSave = obj.hasOwnProperty("orderno");
                if ((isSave && !obj.excstatus) || (!isSave && obj.hasOwnProperty("ordername") && obj.ordername)) {
                  isAlert = true;
                  break;
                }
            }
            if (isAlert || this.noSubmitOrderCount > 0) {
                // 从Firefox 4、 Chrome 51、Opera 38 和Safari 9.1开始,自定义返回的字符串无法使用,只是判断是否弹窗,浏览器默认弹出通用信息
                confirmationMessage = '存在未保存或未提交的医嘱, 确定要离开吗? 离开后未保存的数据将会丢失。';
            }
            event.returnValue = confirmationMessage;
            return confirmationMessage;
      },

体贴金 发表于 2025-8-13 21:58

你好,请问使用的是极速还是极速X?同时用同内核edge或者谷歌浏览器是什么效果?同时个人建议最后一部分不要引用confirmationMessage如果是event.returnValue = null; return undefined是什么效果呢?仅供参考
页: [1]
查看完整版本: 360极速中使用了beforeunload 返回了return “”。但是页面还是弹框,是什么问题