沧海一幻觉
在业务代码设定完onbeforeunload之后, 通过Object.defineProperty设定onbeforeunload属性,var _onbeforeunload = window.onbeforeunload;Object.defineProperty(window, 'onbeforeunload', { get: function() { return _onbeforeunload; }, set: function(newOnBeforeUnload) { _onbeforeunload = function() { if (typeof _onbeforeunload === 'function') { _onbeforeunload.apply(this, arguments); } return newOnBeforeUnload.apply(this, arguments); }; }, enumerable : true, configurable : true});