/** * 測試 * 2018/1/8 13:40 lee.wangel */ (function($){ //備份jquery的ajax方法 var _ajax=$.ajax; //重寫jquery的ajax方法 $.ajax=function(opt){ //備份opt中error和success方法 var fn = { error:function(XMLHttpRequest, textStatus, errorThrown){}, success:function(data, textStatus){} } if(opt.error){ fn.error=opt.error; } if(opt.success){ fn.success=opt.success; } //擴展加強處理 var _opt = $.extend(opt,{ error:function(XMLHttpRequest, textStatus, errorThrown){ //錯誤方法加強處理 fn.error(XMLHttpRequest, textStatus, errorThrown); }, success:function(data, textStatus,xhr){ //console.log( '-------->,ajax 被 代理'); //成功回調方法加強處理 if(data.code =='-2'){ setTimeout(function () { var topPage = getTopWinow(); topPage.location.href ='/'; },1000) return; }; fn.success(data, textStatus); } }); return _ajax(_opt); // 用於返回,防止第三方插件綁定了事件在ajax上 }; })(jQuery);
頂級頁面jquery
/** * 在頁面中任何嵌套層次的窗口中獲取頂層窗口 * @return 當前頁面的頂層窗口對象 */ function getTopWinow(){ var p = window; while(p != p.parent){ p = p.parent; } return p; }