$.ajax async

本文详细介绍了如何使用jQuery发起同步与异步AJAX请求,并通过示例展示了两种请求方式的区别。同步请求会阻塞浏览器直到响应返回,而异步请求则允许页面继续执行而不等待响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

var temp;
$.ajax({
async: false,
type : "POST",
url : defaultPostData.url,
dataType : 'json',
success : function(data) {
temp=data;
}
});
alert(temp);

这个ajax请求则为同步请求,在没有返回值之前,alert(temp)是不会执行的。

如果async设置为:true,则不会等待ajax请求返回的结果,会直接执行ajax后面的语句。

String.prototype.trim = function(){return this.replace(/(^[\s]*)|([\s]*$)/g, "");}; String.prototype.lTrim = function(){return this.replace(/(^[\s]*)/g, "");}; String.prototype.rTrim = function(){return this.replace(/([\s]*$)/g, "");}; if(typeof Array.indexOf != "function") Array.prototype.indexOf = function(arg, n){ var i = isNaN(n) || n < 0 ? 0 : n; for(; i < this.length; i++) if(this[i] == arg) return i; return -1; }; var AsControl = { _getDefaultOpenStyle:function() { return "width="+screen.availWidth+"px,height="+screen.availHeight+"px,top=0,left=0,toolbar=no,scrollbars=yes,resizable=yes,status=no,menubar=no"; }, _getDefaultDialogStyle:function() { return "dialogWidth:"+screen.availWidth+"px;dialogHeight:"+screen.availHeight+"px;resizable:yes;maximize:yes;help:no;status:no;"; }, _getDialogStyle:function(sStyle) { if(typeof(sStyle)=="undefined" || sStyle=="") return this._getDefaultDialogStyle(); else return sStyle; }, _getParaString:function(sPara) { if(typeof(sPara)=="undefined" || sPara=="") { return ""; } else if (sPara.substring(0,1)=="&") { return encodeURI(encodeURI(sPara)); } else { return "&"+encodeURI(encodeURI(sPara)); } }, randomNumber:function() { return Math.abs(Math.sin(new Date().getTime())).toString().substr(2); } }; AsControl.OpenObjectTab = function(sPara){ if(sPara.indexOf("ObjectType=")<0){ alert("参数串必须有ObjectType定义!"); return; } if(sPara.indexOf("ObjectNo=")<0){ alert("参数串必须有ObjectNo定义!"); return; } /*if(sPara.indexOf("ViewID=")<0){ alert("参数串必须有ViewID定义!"); return; }*/ this.PopView("/Frame/ObjectTab.jsp", sPara); }; AsControl.OpenObject = function(sObjectType,sObjectNo,sViewID,sStyle){ return OpenObject(sObjectType,sObjectNo,sViewID,sStyle); // }; AsControl.PopObject = function(sObjectType,sObjectNo,sViewID,sDialogStyle,sDialogParas){ return PopObject(sObjectType,sObjectNo,sViewID,sDialogStyle,sDialogParas); // }; AsControl.OpenPage = function(sURL,sPara,sTargetWindow,sStyle) { if(typeof(sURL)=="undefined" || sURL=="") { alert("系统繁忙,请关掉窗口或刷新后重试!"); return false; } if(sURL.indexOf("?")>=0){ alert("URL中存在\"?\"!"); return false; } if(sTargetWindow=="_blank") { alert("弹出的页面不能使用OpenPage函数!"); return false; } var temp_targetWindow=""; try{ temp_targetWindow = Layout.getRegionName(sTargetWindow); sTargetWindow=temp_targetWindow; }catch(e){ } var sWindowToUnload; if(sTargetWindow==null || sTargetWindow=="_self"){ sWindowToUnload="self"; }else if(sTargetWindow=="_top"){ sWindowToUnload="top"; }else if(sTargetWindow=="_blank"){ sWindowToUnload=""; }else if(sTargetWindow=="_parent"){ sWindowToUnload="parent"; }else sWindowToUnload=sTargetWindow; try{ oWindow = eval(sWindowToUnload); }catch(e){ } if(window.checkOpenUrlModified != false){ try{ oWindow = eval(sWindowToUnload); if(!oWindow.checkModified()) return; }catch(e){ try{if(!parent.frames[sWindowToUnload].checkModified()) return;}catch(e2){} } } var sPageURL=sWebRootPath+sURL; if(sURL.indexOf("?")<0) {sPageURL = sPageURL+"?"; } else if (sURL.substr(sURL.length-1)!="?"){sPageURL = sPageURL+"&";} sPageURL = sPageURL + "CompClientID="+sCompClientID+this._getParaString(sPara)+"&randp="+this.randomNumber(); this.switchDiv(sTargetWindow); if(typeof(sStyle)=="undefined") sStyle=AsControl._getDefaultOpenStyle(); window.open(sPageURL,sTargetWindow,sStyle); }; AsControl.OpenCompNewWin = function(sURL,sPara,sStyle) { if(sURL.indexOf("?")>=0) { alert("URL中存在\"?\"!"); return false; } var sCompPara = sPara; while(sCompPara.indexOf("&")>=0) sCompPara = sCompPara.replace("&","$[and]"); var sPageURL = sWebRootPath+"/RedirectorDialog?&TargetWindow=_blank&DiaglogURL=/Frame/page/control/OpenCompDialog.jsp&ComponentURL="+sURL+this._getParaString("CompPara="+sCompPara); window.open(sPageURL,"_blank",this._getDefaultOpenStyle()); }; AsControl.OpenComp = function(sURL,sPara,sTargetWindow,sStyle) { if(sURL.indexOf("?")>=0) { alert("URL中存在\"?\"!"); return false; } sTargetWindow = Layout.getRegionName(sTargetWindow); var sToDestroyClientID=""; var sWindowToUnload = sTargetWindow; if(sTargetWindow=="_blank") { return this.PopComp(sURL,sPara); }else{ if(sTargetWindow==null || sTargetWindow=="_self") sWindowToUnload="self"; else if(sTargetWindow=="_top") sWindowToUnload="top"; try{ oWindow = eval(sWindowToUnload); sToDestroyClientID = oWindow.sCompClientID; if (sWindowToUnload !="self" && sWindowToUnload !="top" && sToDestroyClientID==sCompClientID) sToDestroyClientID = ""; }catch(e){ sToDestroyClientID = ""; } if(window.checkOpenUrlModified != false){ try{if(!oWindow.checkModified()) return;}catch(e1){ try{if(!parent.frames[sWindowToUnload].checkModified()) return;}catch(e2){} } } } if(typeof(sToDestroyClientID)=="undefined" || sToDestroyClientID=="") {sToDestroyClientID="&TargetWindow="+sTargetWindow;} else {sToDestroyClientID="&TargetWindow="+sTargetWindow+"&ToDestroyClientID="+sToDestroyClientID;} var sPageURL = sWebRootPath + "/Redirector?OpenerClientID="+sCompClientID+sToDestroyClientID+"&ComponentURL="+sURL+this._getParaString(sPara); this.switchDiv(sTargetWindow); this._OpenIFrame(sPageURL,sTargetWindow); }; AsControl._OpenIFrame = function(sPageURL,sIFrame) { if (!document.body) { window.open(sPageURL,sIFrame); return; } var a = document.createElement('a'); a.setAttribute('href', sPageURL); a.setAttribute('target',sIFrame); a.setAttribute('id', "ID_"+sIFrame); document.body.appendChild(a); a.click(); document.body.removeChild(a); } /** * 校验窗口内所有页面是否都未做修改 * @param win 被校验的窗口对象,如window、self、top或frames[name]等 * @returns {boolean} true 校验通过,false 校验不通过 */ AsControl.CheckWindowModified = function(win){ try{ if(typeof win.checkModified == "function" && !win.checkModified()) return false; } catch (e) {return true;} for(var i = 0; i < win.frames.length; i++){ if(!AsControl.CheckWindowModified(win.frames[i])) return false; } return true; }; /** * 根据iFrame的字符串名字获取iFrame对象 * @param sFrame iFrame的字符串名字 * @returns iFrame对象 */ AsControl.getOFrame = function(sFrame) { var frame = null; if(typeof sFrame !== "string") return frame; if(sFrame === "_top"){ frame = top; }else if(sFrame == self.name || sFrame === "_self"){ frame = window; }else{ var win = window; while(true){ try {frame = win.frames[sFrame];} catch(e){break;} if(frame) break; if(win.parent === win) break; win = win.parent; } } return frame; } AsControl.switchDiv = function(sTargetWindow) { if(window.showDiv==false) return; var frame = AsControl.getOFrame(sTargetWindow); if(!frame) return; try {frame.document;} catch(e){return;} var doc = frame.document; if(!doc || !doc.body) return; try { var switch_mask_div = doc.getElementById("switch_page_mask"); if (switch_mask_div) { switch_mask_div.style.display="block"; return; } var sm_child_div_span = doc.createElement("span"); sm_child_div_span.style.cssText = "color:#772200;display:block;font-size:14px"; sm_child_div_span.textContent="页面切换中,请等待......"; var sm_child_count_span = doc.createElement("span"); sm_child_count_span.id = "switch_page_mask_count"; sm_child_div_span.appendChild(sm_child_count_span); var sm_child_div = doc.createElement("div"); sm_child_div.style.cssText = "position:absolute;left:0;top:0;width:100%;height:100%;background:#e8e8e8;filter:alpha(opacity=60);opacity:0.6;z-index:-1;"; var width = Math.max(doc.body.scrollWidth, doc.documentElement.scrollWidth)-20; var height = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight)-20; var sm_div = doc.createElement("div"); sm_div.id = "switch_page_mask"; sm_div.style.cssText = "position:absolute;left:0;top:0;width:"+width+"px;height:"+height+"px;text-align:center;z-index:9999;"; if(!doc || !doc.body) return; sm_div.appendChild(sm_child_div); sm_div.appendChild(sm_child_div_span); doc.body.appendChild(sm_div); } catch (e) {}; var mask_timer = setTimeout(function(){ try{ if(!frame||!doc || !doc.body) {clearTimeout(mask_timer);return;} frame.switchDivFlag=true; var mask_interval= setInterval(function(){ try{ if(!frame||!doc || !doc.body) {clearInterval(mask_interval);return;} var switch_page_mask_count = doc.getElementById("switch_page_mask_count"); if (!switch_page_mask_count) {clearInterval(mask_ierval);return;} var time = parseInt(switch_page_mask_count.textContext||switch_page_mask_count.innerText, 10); if(isNaN(time)) time = 0; switch_page_mask_count.textContent =""+ (++time); //console.log("time:"+time+"switch_page_mask_count.textContent:"+switch_page_mask_count.textContent+"switchDivFlag:"+frame.switchDivFlag); //console.trace(); if (time > 60 || !frame.switchDivFlag) {clearInterval(mask_interval);return;} }catch(e){clearInterval(mask_interval);} }, 1000); }catch(e){} }, 100); } ; AsControl.showReadyMessage = function(msg) { var top =AsDialog._getTop(); try {top.document;} catch(e){return;} var doc = top.document; if(!doc || !doc.body) return; try { var switch_mask_div = doc.getElementById("page_ready_mask"); if (switch_mask_div) { switch_mask_div.style.display="block"; return; } var sm_child_div_span = doc.createElement("span"); sm_child_div_span.style.cssText = "color:#668800;display:block;font-size:14px;padding:100px"; sm_child_div_span.textContent="页面正在初始化,请稍等......"; if (msg ) sm_child_div_span.textContent=msg; var sm_child_div = doc.createElement("div"); sm_child_div.style.cssText = "position:absolute;left:0;top:0;width:100%;height:100%;background:#e8e8e8;filter:alpha(opacity=60);opacity:0.6;z-index:-1;"; var width = Math.max(doc.body.scrollWidth, doc.documentElement.scrollWidth); var height = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight); var sm_div = doc.createElement("div"); sm_div.id = "page_ready_mask"; sm_div.style.cssText = "position:absolute;display:block;left:0;top:0;width:"+width+"px;height:"+height+"px;text-align:center;z-index:10001;"; sm_div.appendChild(sm_child_div); sm_div.appendChild(sm_child_div_span); doc.body.appendChild(sm_div); switch_mask_div = doc.getElementById("page_ready_mask"); } catch (e) {}; } ; AsControl.hideReadyMessage = function() { var top =AsDialog._getTop(); try {top.document;} catch(e){return;} var doc = top.document; if(!doc || !doc.body) return; try { var switch_mask_div = doc.getElementById("page_ready_mask"); if (switch_mask_div) { switch_mask_div.style.display="none"; return; } } catch (e) {}; } ; AsControl.PopPage = function(sURL,sPara,sStyle,dialogArgs){ if(sURL.indexOf("?")>=0){ alert("错误:页面URL中存在\"?\"。请将页面参数在第二个参数中传入!"); return false; } var sDialogStyle = this._getDialogStyle(sStyle); var sPageURL = sWebRootPath+"/RedirectorDialog?DiaglogURL="+sURL+"&OpenerClientID="+sCompClientID+"&ComponentURL="+sURL+this._getParaString(sPara); if (!window.showModalDialog) {alert("本功能PopPage暂时只支持IE11!"); console.trace();return;} if (typeof(dialogArgs) == "undefined" ) dialogArgs=self; return window.showModalDialog(sPageURL,dialogArgs,sDialogStyle); }; AsControl.PopPageEx = function(sURL,sPara,oTarget,sStyle){ if(sURL.indexOf("?")>=0){ alert("错误:页面URL中存在\"?\"。请将页面参数在第二个参数中传入!"); return false; } var sDialogStyle = this._getDialogStyle(sStyle); var sPageURL = sWebRootPath+"/RedirectorDialog?DiaglogURL="+sURL+"&OpenerClientID="+sCompClientID+"&ComponentURL="+sURL+this._getParaString(sPara); if (!window.showModalDialog) {alert("本功能showModalDialog暂时只支持IE11!"); console.trace();return;} return window.showModalDialog(sPageURL,oTarget,sDialogStyle); }; AsControl.PopComp = function(sURL,sPara,sStyle,dialogArgs){ if(sURL.indexOf("?")>=0) { alert("URL中存在\"?\"!"); return false; } var sDialogStyle = this._getDialogStyle(sStyle); var sCompPara = sPara; while(sCompPara.indexOf("&")>=0) sCompPara = sCompPara.replace("&","$[and]"); var sPageURL = sWebRootPath+"/RedirectorDialog?DiaglogURL=/Frame/page/control/OpenCompDialog.jsp&OpenerClientID="+sCompClientID+"&ComponentURL="+sURL+this._getParaString("CompPara="+sCompPara); if (!window.showModalDialog) {alert("本功能PopComp暂时只支持IE11!"); console.trace();return;} if (typeof(dialogArgs) == "undefined" ) dialogArgs=self; return window.showModalDialog(sPageURL,dialogArgs,sDialogStyle); }; AsControl.OpenPageOld = function(sURL,sTargetWindow,sStyle) { if(sTargetWindow=="_blank") { alert("弹出的页面不能使用OpenPage函数!");} var sPageURL=sURL; var sPara = ""; if(sURL.indexOf("?")>0) { sPageURL = sURL.substring(0,sURL.indexOf("?")); sPara = sURL.substring(sURL.indexOf("?")+1); } this.OpenPage(sPageURL, sPara, sTargetWindow,sStyle); }; AsControl.PopPageOld = function(sURL,sStyle){ var sPageURL=sURL; var sPara = ""; if(sURL.indexOf("?")>0) { sPageURL = sURL.substring(0,sURL.indexOf("?")); sPara = sURL.substring(sURL.indexOf("?")+1); } return this.PopPage(sPageURL, sPara, sStyle); }; AsControl.OpenView = function(sURL,sPara,sTargetWindow,sStyle){ return this.OpenComp(sURL,sPara,sTargetWindow,sStyle);}; AsControl.PopView = function(sURL, sPara, sStyle, dialogArgs){ return this.PopComp(sURL, sPara, sStyle, dialogArgs);}; AsControl.DestroyComp = function (ToDestroyClientID) { $.ajax({url: sWebRootPath+"/Frame/page/control/DestroyCompAction.jsp?ToDestroyClientID="+ToDestroyClientID,async: false}); }; AsControl.RunJavaMethod = function (ClassName,MethodName,Args) { return AsControl.GetJavaMethodReturn(AsControl.CallJavaMethod(ClassName,MethodName,Args,""),ClassName); }; AsControl.RunJavaMethodSqlca = function (ClassName,MethodName,Args) { return AsControl.GetJavaMethodReturn(AsControl.CallJavaMethod(ClassName,MethodName,Args,"&ArgsObject=Sqlca"),ClassName); }; AsControl.RunJavaMethodTrans = function (ClassName,MethodName,Args) { return AsControl.GetJavaMethodReturn(AsControl.CallJavaMethod(ClassName,MethodName,Args,"&ArgsObject=Trans"),ClassName); }; AsControl.ExportFinanceReport = function(sObjectType, sObjectNo, sReportScope, sReportDate){ var sParam; if(arguments.length == 1) sParam = "ReportNo="+arguments[0]; else sParam = "ObjectType="+ObjectType+",ObjectNo="+sObjectNo+",ReportScope="+sReportScope+",ReportDate="+sReportDate; var sReportExcelPath = AsControl.RunJavaMethodSqlca("com.amarsoft.biz.finance.ExportExcel", "run", sParam); if(!sReportExcelPath) return; if(!frames["exportfsframe"]) $("<iframe name='exportfsframe' style='display:none;'></iframe>").appendTo("body"); window.open(sWebRootPath+"/servlet/view/file?CompClientID="+sCompClientID+"&filename="+sReportExcelPath+"&viewtype=download", "exportfsframe"); }; AsControl.CallJavaMethodJSP = function (ClassName,MethodName,Args,ArgsObjectText) { return $.ajax({ url: sWebRootPath+"/Frame/page/sys/tools/RunJavaMethod.jsp?ClassName="+ClassName+"&MethodName="+MethodName+this._getParaString("Args="+Args)+ArgsObjectText, async: false }).responseText.trim(); }; AsControl.CallJavaMethod = function (ClassName,MethodName,Args,ArgsObjectText) { return $.ajax({ type: "POST", url: sWebRootPath+"/servlet/run?1=1"+ArgsObjectText, data : { "ClassName":ClassName, "MethodName":MethodName, // FIXME 加号替换,请修改为特殊字符,见com.amarsoft.awe.control.RunJavaMethodServlet.doGet "Args":encodeURI(Args.replace(/\+/g, 'Ж').replace(/\%/g, 'ё')) }, async: false }).responseText.trim(); }; AsControl.GetJavaMethodReturn = function (sReturnText,ClassName) { /*window.onerror = function(msg, url, line) { if(msg.indexOf("AWS0003")>0||msg.indexOf("!DOCTYP")>0){ alert("运行异常:【操作超时】:可能是网络故障或您的电脑长时间未操作造成的页面超时,请重新登录!") return ; } console.trace(); alert("运行异常: " + msg + "\n"); //alert("JS异常: " + msg + "\n" + goUrlName(sWebRootPath,url) + ":" + line); return true; }; */ if (typeof(sReturnText)=='undefined' || sReturnText.length<8) { var msg="【AWES0007】后台服务调用出错!\n【"+ClassName+"】"; alert("运行异常: " + msg + "\n"); throw new Error(msg); } if(sReturnText.indexOf("AWES0003")>0 || sReturnText.indexOf("!DOCTYP")>0){ alert("运行异常:【操作超时】:可能是网络故障或您的电脑长时间未操作造成的页面超时,请重新登录!"); AsControl.OpenPage("/Frame/page/sys/SessionExpire.jsp", "", "_top", ""); return ; } var rCode = sReturnText.substring(0,8); if (rCode != '00000000') { var msg="【"+rCode+"】"+sReturnText.substring(8)+"\n【"+ClassName+"】"; alert("运行异常: " + msg + "\n"); throw new Error(msg); } sReturnText = sReturnText.substring(8); if(sReturnText.length>0 && sReturnText.substring(0,1)=="{") return eval("("+ sReturnText +")"); else{ sReturnText=this.clearString(sReturnText); return sReturnText; } }; AsControl.clearString=function(sReturnText){ try{ if(typeof(sReturnText)!="undefined"){ if(sReturnText.indexOf("系统错误")>0){ var tempText=sReturnText.split("系统错误"); sReturnText=tempText[tempText.length-1]; sReturnText=this.replaceAll(sReturnText,":",""); sReturnText=this.replaceAll(sReturnText,"执行script时出错",""); sReturnText=this.replaceAll(sReturnText,"com.amarsoft.app.als.sys.function.action.BizFunctionAction",""); sReturnText=this.replaceAll(sReturnText,"执行Bizlet时出错",""); sReturnText=this.replaceAll(sReturnText,"Bizlet",""); sReturnText=this.replaceAll(sReturnText,"。",""); sReturnText=this.replaceAll(sReturnText,":",""); sReturnText=this.replaceAll(sReturnText,":",""); sReturnText=this.replaceAll(sReturnText,":[",""); sReturnText=this.replaceAll(sReturnText,"]]",""); sReturnText=this.replaceAll(sReturnText,"]]",""); sReturnText=this.replaceAll(sReturnText,"[[",""); sReturnText=this.replaceAll(sReturnText,"[[",""); sReturnText=this.replaceAll(sReturnText,"FinishPutOut",""); sReturnText=this.replaceAll(sReturnText,"[]",""); sReturnText=this.replaceAll(sReturnText,"com.amarsoft.app.als.sys.function.action.BizFunctionAction",""); sReturnText=this.replaceAll(sReturnText,"执行Function错误","交易失败!"); return sReturnText; } } }catch(e){ alert(e.message); } return sReturnText; }; AsControl.replaceAll=function(sSource,sOldString,sNewString){ try{ if(typeof(sSource)!='string') return sSource; var iPosBegin = 0; sReturn = sSource; //alert(sReturn+"\r\n"+sOldString+"\r\n"+sNewString); iPosBegin = sReturn.indexOf(sOldString,iPosBegin); while(iPosBegin>=0){ //sReturn = sReturn.replace(sOldString,sNewString); sReturn = sReturn.substring(0,iPosBegin)+sNewString+sReturn.substring(iPosBegin+sOldString.length); iPosBegin = sReturn.indexOf(sOldString,iPosBegin+sNewString.length); } return sReturn; }catch(e){ alert(e.name+" "+e.number+" :"+e.message); } }; AsControl.RunJsp = function(sURL,sPara,fun) { if(sURL.indexOf("?")>=0){ alert("错误:页面URL中存在\"?\"。请将页面参数在第二个参数中传入!"); return false; } var sPageURL = sWebRootPath+sURL+"?CompClientID="+sCompClientID+this._getParaString(sPara); if(typeof fun == "function"){ return $.ajax({url:sPageURL,type:"POST",processData:false,async:true,success:fun}); }else{ return $.ajax({url:sPageURL,async:false}).responseText.trim(); } }; AsControl.RunJspOne = function(sURL) { var sPageURL=sURL; var sPara = ""; if(sURL.indexOf("?")>0) { sPageURL = sURL.substring(0,sURL.indexOf("?")); sPara = sURL.substring(sURL.indexOf("?")+1); } return this.RunJsp(sPageURL, sPara); }; AsControl.RunASMethod = function(ClassName,MethodName,Args) { return this.RunJsp("/Common/ToolsB/RunMethodAJAX.jsp","ClassName="+ClassName+"&MethodName="+MethodName+"&Args="+Args); }; AsControl.getErrMsg = function (MsgNo) { var ClassName="com.amarsoft.awe.res.ErrMsgManager"; var MethodName="getText"; var Args="MsgNo="+MsgNo; return AsControl.GetJavaMethodReturn(AsControl.CallJavaMethod(ClassName,MethodName,Args,""),ClassName); }; var OpenStyle=AsControl._getDefaultOpenStyle(); function randomNumber() { return AsControl.randomNumber();} function OpenComp(sCompID,sCompURL,sPara,sTargetWindow,sStyle) {return AsControl.OpenComp(sCompURL,sPara,sTargetWindow,sStyle);} function openComp(sCompID,sCompURL,sPara,sTargetWindow,sStyle) {return AsControl.OpenComp(sCompURL,sPara,sTargetWindow,sStyle);} function PopComp(sComponentID,sComponentURL,sParaString,sStyle) {return AsControl.PopComp(sComponentURL,sParaString,sStyle);} function popComp(sComponentID,sComponentURL,sParaString,sStyle) {return AsControl.PopComp(sComponentURL,sParaString,sStyle);} function PopPage(sURL,sTargetWindow,sStyle) {return AsControl.PopPageOld(sURL,sStyle);} function OpenPage(sURL,sTargetWindow,sStyle) {return AsControl.OpenPageOld(sURL,sTargetWindow,sStyle);} function RunJavaMethod(ClassName,MethodName,Args) {return AsControl.RunJavaMethod(ClassName,MethodName,Args);} function RunJavaMethodSqlca(ClassName,MethodName,Args) {return AsControl.RunJavaMethodSqlca(ClassName,MethodName,Args);} function RunJavaMethodTrans(ClassName,MethodName,Args) {return AsControl.RunJavaMethodTrans(ClassName,MethodName,Args);} function PopPageAjax(sURL,sTargetWindow,sStyle){return AsControl.RunJspOne(sURL);} function RunJspAjax(sURL,sTargetWindow,sStyle){return AsControl.RunJspOne(sURL);} function RunMethod(ClassName,MethodName,Args){return AsControl.RunASMethod(ClassName,MethodName,Args); } function getMessageText(iNo) { return AsControl.getErrMsg(iNo);} function openObjectInFrame(sObjectType,sObjectNo,sViewID,sFrameID){ AsControl.OpenComp("/Frame/ObjectViewer.jsp","ObjectType="+sObjectType+"&ObjectNo="+sObjectNo+"&ViewID="+sViewID,sFrameID,""); } function openObject(sObjectType,sObjectNo,sViewID,sStyle){ AsControl.PopComp("/Frame/ObjectViewer.jsp","ObjectType="+sObjectType+"&ObjectNo="+sObjectNo+"&ViewID="+sViewID,sStyle); } function openObjectNewWin(sObjectType,sObjectNo,sViewID,sStyle){ AsControl.OpenCompNewWin("/Frame/ObjectViewer.jsp","ObjectType="+sObjectType+"&ObjectNo="+sObjectNo+"&ViewID="+sViewID,sStyle); } function OpenObject(sObjectType,sObjectNo,sViewID,sStyle){ openObject(sObjectType,sObjectNo,sViewID,sStyle); } function popObject(sObjectType,sObjectNo,sViewID,sDialogStyle){ AsControl.PopComp("/Frame/ObjectViewer.jsp","ObjectType="+sObjectType+"&ObjectNo="+sObjectNo+"&ViewID="+sViewID,sDialogStyle); } function PopObject(sObjectType,sObjectNo,sViewID,sDialogStyle){ popObject(sObjectType,sObjectNo,sViewID,sDialogStyle); } function setWindowTitle(sTitle) { top.document.title=sTitle+"                                                                                                                                                          "; } function setDialogTitle(sTitle) { var tempWindow = self; do{ var title=getDialogTitle(); if(typeof(title)!="undefined" && title.length>0) return ; if(typeof tempWindow.setTopTitle == "function"){ tempWindow.setTopTitle(sTitle); break; } if(tempWindow == tempWindow.parent) break; tempWindow = tempWindow.parent; }while(true); } function getDialogTitle(){ var tempWindow = self; do{ if(typeof tempWindow.getTopTitle == "function"){ return tempWindow.getTopTitle(); } if(tempWindow == tempWindow.parent) break; tempWindow = tempWindow.parent; }while(true); } var AsDialog = { OpenSelector : function(sObjectType,sParaString,sStyle){ return selectObjectValue(sObjectType,sParaString,sStyle); //使用在SELECT_CATALOG中自定义查询选择信息 }, OpenSelectorCB : function(sObjectType,sParaString,sStyle, resolve){ AsDialog.selectCatalogDialog(sObjectType,sParaString,sStyle,resolve); }, SelectGridValue : function(sDoNo, sArgs, sFields, aSelected, isMulti, sStyle){ if(!sStyle) sStyle = "dialogWidth:700px;dialogHeight:500px;resizable:no;maximize:yes;help:no;status:no;"; if(sFields.indexOf("=") > -1){ return this.SetGridValue(sDoNo, sArgs, sFields, aSelected, sStyle); } var sPageURL = sWebRootPath+"/RedirectorDialog?DiaglogURL=/Frame/page/control/OpenCompDialog.jsp&OpenerClientID="+sCompClientID+"&ComponentURL=/Frame/page/tools/SelectDialog.jsp"+AsControl._getParaString("CompPara=SelectDialogUrl=/Frame/page/tools/SelectGridDialog.jsp&DoNo="+sDoNo+"&Parameters="+sArgs+"&Fields="+sFields+"&IsMulti="+isMulti); if (!window.showModalDialog) {alert("本功能SelectGridValue暂时只支持IE11!"); console.trace();return;} return window.showModalDialog(sPageURL,aSelected,sStyle); }, SelectGridValueCB : function(sDoNo, sArgs, sFields, aSelected, isMulti, sStyle, callback){ if(!sStyle) sStyle = "dialogWidth:700px;dialogHeight:500px;resizable:no;maximize:yes;help:no;status:no;"; var sSelected = aSelected; if ($.isArray(aSelected)) {sSelected = aSelected.join("@");} var sURL = "/Frame/page/tools/SelectDialog.jsp"; var sPara ="SelectDialogUrl=/Frame/page/tools/SelectGridDialog.jsp&DoNo="+sDoNo+"&Parameters="+sArgs+"&Fields="+sFields+"&IsMulti="+isMulti+"&ASelected="+sSelected; this.PopView(sURL,sPara,sStyle,callback); }, SetGridValue : function(sDoNo, sArgs, sFieldValues, aSelected, sStyle){ if(sFieldValues.indexOf("=") < 0){ return this.SelectGridValue(sDoNo, sArgs, sFieldValues, aSelected, false, sStyle); } var fieldValues = sFieldValues.split("@"); var fields = ""; var terminis = new Array(); var keyValue; for(var i = 0; i < fieldValues.length; i++){ if(fieldValues[i].indexOf("=") < 0) continue; keyValue = fieldValues[i].split("="); if(keyValue.length < 2 || keyValue[0] == "" || keyValue[1] == "") continue; terminis[terminis.length] = keyValue[0]; if(fields != "") fields += "@"; fields += keyValue[1]; } var sReturn = this.SelectGridValue(sDoNo, sArgs, fields, aSelected, false); if(!sReturn) return; if(sReturn == "_CLEAR_"){ if(typeof setItemValue == "function" && typeof getRow == "function"){ for(var i = 0; i < terminis.length; i++){ setItemValue(0, getRow(), terminis[i], ""); } } }else{ if(typeof setItemValue == "function" && typeof getRow == "function"){ var values = sReturn.split("@"); for(var i = 0; i < terminis.length; i++){ setItemValue(0, getRow(), terminis[i], values[i]); } } } return sReturn; }, SetGridValueCB : function(sDoNo, sArgs, sFieldValues, aSelected, sStyle,callback){ if(sFieldValues.indexOf("=") < 0){ return this.SelectGridValueCB(sDoNo, sArgs, sFieldValues, aSelected, false, sStyle,callback); } var fieldValues = sFieldValues.split("@"); var terminis = new Array(); // 接收字段 var fields = ""; // 返回字段 for(var i = 0; i < fieldValues.length; i++){ if(fieldValues[i].indexOf("=") < 0) continue; var keyValue = fieldValues[i].split("="); if(keyValue.length < 2 || keyValue[0] == "" || keyValue[1] == "") continue; terminis[terminis.length] = keyValue[0]; if(fields != "") fields += "@"; fields += keyValue[1]; } this.SelectGridValueCB(sDoNo, sArgs, fields, aSelected, false, sStyle, function(sObjectNoString){ AsDialog._setItemValues(terminis,sObjectNoString,false); if (jQuery.isFunction(callback)) {callback(sObjectNoString);} }); }, _getTop:function() { var mytop=window; var exttest=false; try{ !top.contentDocument; mytop = top; if (mytop.location.host != window.location.host) {exttest=true;} }catch(er){exttest=true;} if (exttest) { var mywin=window; mytop = window; while(true){ try { mytop = mytop.parent; if (mytop.location.host != window.location.host) {mytop = mywin; break;} !mytop.contentDocument; mywin = mytop; }catch(er){mytop = mywin; break;} } } if (!mytop.dialog) { AsDialog.InitDialog(mytop); } return mytop; }, InitDialog : function(mytop){ if (typeof(mytop.$)!="undefined") { mytop.$("head").append('<script type="text/javascript" charset="UTF-8" src="'+sWebRootPath+'/Frame/resources/js/dialog/dialog-min.js"></script>'); mytop.$("head").append('<link rel="stylesheet" type="text/css" href="'+sWebRootPath+'/Frame/page/resources/css/dialog.css">'); } }, _PopupPage : function(pageinfo,callback){ if (!$.isPlainObject(pageinfo)) {alert("Arguments is not fit!");return;} var sURL=pageinfo.url; var sPageURL = sWebRootPath + "/RedirectorDialog?DiaglogURL="+sURL+"&OpenerClientID="+sCompClientID+"&TargetWindow=Popup&ComponentURL="+sURL+AsControl._getParaString(pageinfo.para); var top =AsDialog._getTop(); var maxWidth=top.document.body.offsetWidth-2; var maxHeight=top.document.body.offsetHeight-2; if (pageinfo.width >maxWidth) pageinfo.width=maxWidth; if (pageinfo.height >maxHeight) pageinfo.height=maxHeight; var d = top.dialog({ width:pageinfo.width, height:pageinfo.height, cancel: function() { if(window.checkOpenUrlModified != false){ try{if(!AsControl.CheckWindowModified(top)) return false;}catch(e1){ } } }, cancelDisplay:false, resize:true, url:sPageURL }); if (pageinfo.title) d.title(pageinfo.title); d.addEventListener('close', function () { var sReturnValue=this.returnValue; //jQuery.ajax({url: sWebRootPath+"/Frame/page/control/DestroyCompAction.jsp?ToDestroyClientID="+sCompClientID+"&TargetWindow=Popup",async: false}); var did = this.id; this.remove(); var dels=top.document.getElementsByName(did); if (dels.length >0) { dels[0].parentNode.removeChild(dels[0]); } if (jQuery.isFunction(callback)) { setTimeout(function(){callback(sReturnValue);}); } else { alert("You Selected is \n\r["+sReturnValue+"]\n\rPlease set callback Function to handled!"); } }); d.returnValue=undefined; d.showModal(); }, /** * 通用的选择器,内嵌的SelectDialogUrl页面需实现doSure()方法,并将返回值以parent.closeDialog(返回值);的形式返回给选择器 * @param dialoginfo * @param callback */ SelectCommonDialog : function(dialoginfo,callback){ if (!jQuery.isFunctionPlainObject(dialoginfo)) {alert("Arguments is not fit!");return;} var pageinfo = { width: dialoginfo.width, height:dialoginfo.height, title: dialoginfo.title, para: dialoginfo.para.indexOf("SelectDialogUrl")<0 ? "SelectDialogUrl="+dialoginfo.para : dialoginfo.para, url:"/Frame/page/tools/dialog/SelectDialog.jsp" }; this._PopupPage(pageinfo,callback); }, selectCatalogDialog:function(sObjectType,sParaString,sStyle,callback){ var pageinfo = { width:this._getStyleDialogWidth(sStyle,700), height:this._getStyleDialogHeight(sStyle,540), url:"/Frame/DialogSelect.jsp", para:"SelName="+sObjectType+"&ParaString="+sParaString, title: '请选择:' }; this._PopupPage(pageinfo,callback); }, selectObjectInfo:function(sObjectType,sParaString,sStyle,callback){ var pageinfo = { width:this._getStyleDialogWidth(sStyle,700), height:this._getStyleDialogHeight(sStyle,540), url:"/Frame/page/tools/dialog/SelectObject.jsp", para:"ObjectType="+sObjectType+"&ParaString="+sParaString, title: '请选择:' }; this._PopupPage(pageinfo,callback); }, setObjectInfo:function(sObjectType,sValueString,iArgDW,iArgRow,sStyle,callback){ if(typeof(sStyle)=="undefined" || sStyle=="") sStyle = "dialogWidth:700px;dialogHeight:540px;"; if (jQuery.isFunction(sStyle)) {callback=sStyle; sStyle = "dialogWidth:700px;dialogHeight:540px;"} var iDW = iArgDW; if(iDW == null) iDW=0; var iRow = iArgRow; if(iRow == null) iRow=0; var sValues = sValueString.split("@"); var sParaString = sValues[0]; var i=sValues.length; i=i-1; if (i%2!=0){ alert("setObjectInfo()返回参数设定有误!\r\n格式为:@ID列名@ID在返回串中的位置..."); return; }else{ var j=i/2,m,sColumn,iID; this.selectObjectInfo(sObjectType,sParaString,sStyle,function(sObjectNoString){ if(typeof(sObjectNoString)=="undefined" || sObjectNoString=="null" || sObjectNoString==null || sObjectNoString=="_CANCEL_"){ return; }else if(sObjectNoString=="_CLEAR_"){ for(m=1;m<=j;m++){ sColumn = sValues[2*m-1]; if(sColumn!="") setItemValue(iDW,iRow,sColumn,""); } }else if(sObjectNoString!="_NONE_" && sObjectNoString!="undefined"){ sObjectNos = sObjectNoString.split("@"); for(m=1;m<=j;m++){ sColumn = sValues[2*m-1]; iID = parseInt(sValues[2*m],10); if(sColumn!="") setItemValue(iDW,iRow,sColumn,sObjectNos[iID]); } if (jQuery.isFunction(callback)) {callback(sObjectNoString); } return sObjectNoString; }else{ //alert("选取对象编号失败!对象类型:"+sObjectType); return; } return sObjectNoString; } ); } }, /**主要是使用在select_catalog中自定义查询选择信息 * sObjectType:对象类型 * sValueString格式: 传入参数 @ ID列名 @ ID在返回串中的位置 @ Name列名 @ Name在返回串中的位置 * iArgDW: 第几个DW,默认为0 * iArgRow: 第几行,默认为0 */ setObjectValue:function(sObjectType,sParaString,sValueString,iArgDW,iArgRow,sStyle,callback){ var i=sValueString.split("@").length-1; if (i%2!=0){ alert("setObjectValue()返回参数设定有误!\r\n格式为:@ID列名@ID在返回串中的位置..."); return; }else{ this.selectCatalogDialog(sObjectType,sParaString,sStyle,function(sObjectNoString){ var i=sValueString.split("@").length-1; var sValues = sValueString.split("@"); var iDW = iArgDW; if(isNaN(iDW)) iDW=0; var iRow = iArgRow; if(isNaN(iRow)) iRow=0; var j=i/2,m,sColumn,iID; if(typeof(sObjectNoString)=="undefined" || sObjectNoString=="null" || sObjectNoString==null || sObjectNoString=="_CANCEL_" ){ return; }else if(sObjectNoString=="_CLEAR_"){ for(var m=1;m<=j;m++){ sColumn = sValues[2*m-1]; if(sColumn!="") setItemValue(iDW,iRow,sColumn,""); } }else if(sObjectNoString!="_NONE_" && sObjectNoString!="undefined"){ var sObjectNos = sObjectNoString.split("@"); for(var m=1;m<=j;m++){ sColumn = sValues[2*m-1]; iID = parseInt(sValues[2*m],10); if(sColumn!="") setItemValue(iDW,iRow,sColumn,sObjectNos[iID]); } if (jQuery.isFunction(callback)) {callback(sObjectNoString); } return sObjectNoString; }else{ return; } }); } }, /** * 弹出配置树图选择器,并返回选择内容字符串 * @param sCodeNo 配置树图编号 必须 * @param sReturnFields 返回字段,以@符号分隔 必须 * * @param aSelected {Array} 默认选择数据 字段对应的值 ["F1V1,F1V2,...,F1VN","F2V1,F2V2,...,F2VN",...,"FNV1,FNV2,...,F1VN"] * @param isMulti 选择器树图多选标记,true 多选,否则 单选 * @param onlyLeaf 选择器树图只选功能节点 false 可选文件夹节点 否则 只能选末端叶子节点 * @param sStyle 选择器窗体外观特征,默认宽度为700像素,高度为500像素,不能自由拉伸窗体,不显示状态栏、帮助问号 * * @returns 选择器返回的字符串 单选:F1V@F2V@...@FNV 多选:F1V1@F2V1@...@FNV1~F1V2@F2V2@...@FNV2~F1VN@F2VN@...@FNVN * @belong AsDialog */ SelectConfigTreeValue : function(sCodeNo, sReturnFields, aSelected, isMulti, onlyLeaf, sStyle,callback){ if(sReturnFields.indexOf("=") > -1){ return this.SetConfigTreeValue(sCodeNo, sReturnFields, aSelected, isMulti, onlyLeaf, sStyle); } var sSelected = aSelected; if ($.isArray(aSelected)) {sSelected = aSelected.join("@");} var pageinfo = { width:this._getStyleDialogWidth(sStyle,700), height:this._getStyleDialogHeight(sStyle,500), url:"/Frame/page/tools/dialog/SelectDialog.jsp", para:"SelectDialogUrl=/Frame/page/tools/dialog/SelectCodeTreeDialog.jsp&CodeNo="+sCodeNo+"&ReturnFields="+sReturnFields+"&IsMulti="+isMulti+"&OnlyLeaf="+onlyLeaf+"&ASelected="+sSelected, title: '请选择:' }; this._PopupPage(pageinfo,callback); }, /** * 弹出配置树图选择器,并以选择内容字符串给对应字段赋值 * @param sCodeNo 配置树图编号 必须 * @param sReturnFields 返回并设置字段,FK1=FV1@FK2=FV2@...@FKN=FVN (当前显示模板字段=选择器字段) * @param aSelected {Array} 默认选择数据 字段对应的值 ["F1V1,F1V2,...,F1VN","F2V1,F2V2,...,F2VN",...,"FNV1,FNV2,...,F1VN"] * @param isMulti 选择器树图多选标记,true 多选,否则 单选 * @param onlyLeaf 选择器树图只选功能节点 false 可选文件夹节点 否则 只能选末端叶子节点 * @param sStyle 选择器窗体外观特征,默认宽度为700像素,高度为500像素,不能自由拉伸窗体,不显示状态栏、帮助问号 * @belong AsDialog */ SetConfigTreeValue : function(sCodeNo, sReturnFields, aSelected, isMulti, onlyLeaf, sStyle){ if(sReturnFields.indexOf("=") < 0){ return this.SelectConfigTreeValue(sCodeNo, sReturnFields, aSelected, isMulti, onlyLeaf, sStyle); } var fieldValues = sReturnFields.split("@"); var terminis = new Array(); // 接收字段 var fields = ""; // 返回字段 for(var i = 0; i < fieldValues.length; i++){ if(fieldValues[i].indexOf("=") < 0) continue; var keyValue = fieldValues[i].split("="); if(keyValue.length < 2 || keyValue[0] == "" || keyValue[1] == "") continue; terminis[terminis.length] = keyValue[0]; if(fields != "") fields += "@"; fields += keyValue[1]; } this.SelectConfigTreeValue(sCodeNo, fields, aSelected, isMulti, onlyLeaf, sStyle, function(sObjectNoString){ AsDialog._setItemValues(terminis,sObjectNoString,isMulti); }); }, /** * 弹出树图选择器,并返回选择内容字符串 * @param sDoNo 预定义显示模型编号 必须 * @param sArgs 预定义显示模型参数,规则同OW页面,以“,”分隔 * @param sReturnFields 返回字段,以@符号分隔 必须 * @param sSortField 节点排序字段 必须 * @param sTextField 节点显示字段 必须 * * @param aSelected {Array} 默认选择数据 字段对应的值 ["F1V1,F1V2,...,F1VN","F2V1,F2V2,...,F2VN",...,"FNV1,FNV2,...,F1VN"] * @param isMulti 选择器树图多选标记,true 多选,否则 单选 * @param onlyLeaf 选择器树图只选功能节点 false 可选文件夹节点 否则 只能选末端叶子节点 * @param sStyle 选择器窗体外观特征,默认宽度为700像素,高度为500像素,不能自由拉伸窗体,不显示状态栏、帮助问号 * * @returns 选择器返回的字符串 单选:F1V@F2V@...@FNV 多选:F1V1@F2V1@...@FNV1~F1V2@F2V2@...@FNV2~F1VN@F2VN@...@FNVN * @belong AsDialog */ SelectTreeValue : function(sDoNo, sArgs, sReturnFields, sSortField, sTextField, aSelected, isMulti, onlyLeaf, sStyle,callback){ var sSelected = aSelected; if ($.isArray(aSelected)) {sSelected = aSelected.join("@");} var pageinfo = { width:this._getStyleDialogWidth(sStyle,700), height:this._getStyleDialogHeight(sStyle,500), url:"/Frame/page/tools/dialog/SelectDialog.jsp", para:"SelectDialogUrl=/Frame/page/tools/dialog/SelectTreeDialog.jsp&DoNo="+sDoNo+"&Parameters="+sArgs+"&SortField="+sSortField+"&TextField="+sTextField+"&ReturnFields="+sReturnFields+"&IsMulti="+isMulti+"&OnlyLeaf="+onlyLeaf+"&ASelected="+sSelected, title: '请选择:' }; this._PopupPage(pageinfo,callback); }, /** * 弹出树图选择器,以选择内容字符串给对应字段赋值 * @param sDoNo 预定义显示模型编号 必须 * @param sArgs 预定义显示模型参数,规则同OW页面,以“,”分隔 * @param sReturnFields 返回并设置字段,FK1=FV1@FK2=FV2@...@FKN=FVN (当前显示模板字段=选择器显示模板字段) * @param sSortField 节点排序字段 必须 * @param sTextField 节点显示字段 必须 * @param aSelected {Array} 默认选择数据 字段对应的值 ["F1V1,F1V2,...,F1VN","F2V1,F2V2,...,F2VN",...,"FNV1,FNV2,...,F1VN"] * @param isMulti 选择器树图多选标记,true 多选,否则 单选 * @param onlyLeaf 选择器树图只选功能节点 false 可选文件夹节点 否则 只能选末端叶子节点 * @param sStyle 选择器窗体外观特征,默认宽度为700像素,高度为500像素,不能自由拉伸窗体,不显示状态栏、帮助问号 * @belong AsDialog */ SetTreeValue : function(sDoNo, sArgs, sReturnFields, sSortField, sTextField, aSelected, isMulti, onlyLeaf, sStyle){ if(sReturnFields.indexOf("=") < 0){ return this.SelectTreeValue(sDoNo, sArgs, sReturnFields, sSortField, sTextField, aSelected, isMulti, onlyLeaf, sStyle); } var fieldValues = sReturnFields.split("@"); var terminis = new Array(); // 接收字段 var fields = ""; // 返回字段 for(var i = 0; i < fieldValues.length; i++){ if(fieldValues[i].indexOf("=") < 0) continue; var keyValue = fieldValues[i].split("="); if(keyValue.length < 2 || keyValue[0] == "" || keyValue[1] == "") continue; terminis[terminis.length] = keyValue[0]; if(fields != "") fields += "@"; fields += keyValue[1]; } this.SelectTreeValue(sDoNo, sArgs, fields, sSortField, sTextField, aSelected, isMulti, onlyLeaf, sStyle, function(sObjectNoString){ AsDialog._setItemValues(terminis,sObjectNoString,isMulti); }); }, PopPage : function(sURL,sPara,objectStyle,callback){ var width = 700; var height = 500; var title = "&nbsp"; if ($.isPlainObject(objectStyle)) { if (objectStyle.width) width = objectStyle.width; if (objectStyle.height) height = objectStyle.height; title = objectStyle.title; } else if (typeof objectStyle=="string") { width = this._getStyleDialogWidth(objectStyle,width); height = this._getStyleDialogHeight(objectStyle,height); } var pageinfo = { width:width, height:height, title:title, url:sURL, para:sPara }; this._PopupPage(pageinfo,callback); }, OpenObject:function(sObjectType,sObjectNo,sViewID,objectStyle,callback){ if (!objectStyle) objectStyle =$.parseJSON(RunJspAjax("/Frame/page/tools/object/GetObjectInfo.jsp?ObjectType="+sObjectType+"&ObjectNo="+sObjectNo+"&ViewID="+sViewID)); this.PopView("/Frame/page/tools/object/ObjectViewer.jsp","ObjectType="+sObjectType+"&ObjectNo="+sObjectNo+"&ViewID="+sViewID,objectStyle,callback); }, PopView : function(sURL,sPara,objectStyle,callback){ var top =AsDialog._getTop(); var width = top.document.body.offsetWidth-2; var height = top.document.body.offsetHeight-2; var title = ""; if ($.isPlainObject(objectStyle)) { if (objectStyle.width) width = objectStyle.width; if (objectStyle.height) height = objectStyle.height; title = objectStyle.title; } else if (typeof objectStyle=="string") { width = this._getStyleDialogWidth(objectStyle,width); height = this._getStyleDialogHeight(objectStyle,height); } var maxWidth=top.document.body.offsetWidth-2; var maxHeight=top.document.body.offsetHeight-2; if (width >maxWidth) width=maxWidth; if (height >maxHeight) height=maxHeight; var initMax=0; if(width==maxWidth&&height==maxHeight) { initMax=1; } var sDialogPara = sPara; while(sDialogPara.indexOf("&")>=0) sDialogPara = sDialogPara.replace("&","$[and]"); var sPageURL = sWebRootPath+"/RedirectorDialog?DiaglogURL=/Frame/page/control/DialogFrame.jsp&OpenerClientID="+sCompClientID+AsControl._getParaString("&DialogTitle="+title)+"&DialogURL="+sURL+AsControl._getParaString("DialogPara="+sDialogPara); if(initMax==0){ var d = top.dialog({ width:width, height:height, cancelDisplay:false, //title:"<span style=\"\color:red\"\>点击此处拖动弹窗</span>", title:"<span class=\"\btn_text\"\>点击此处拖动弹窗</span>", drag:true, fixed:true, url:sPageURL }); }else{ var d = top.dialog({ width:width*0.8, height:height*0.8, cancelDisplay:false, drag:true, fixed:true, url:sPageURL }); } d.addEventListener('close', function () { var sReturnValue=this.returnValue; var did = this.id; this.remove(); var dels=top.document.getElementsByName(did); if (dels.length >0) { dels[0].parentNode.removeChild(dels[0]); } if (jQuery.isFunction(callback)) { setTimeout(function(){callback(sReturnValue);}); } }); d.returnValue=undefined; d.showModal(); }, SetDialogTitle : function(sTitle){ var top =AsDialog._getTop(); var d = top.dialog.getCurrent(); if (d) d.title(sTitle); }, ClosePage : function(sReturnValue){ var top =AsDialog._getTop(); var d = top.dialog.getCurrent();if (!d && top.dialog.list){for (var i in top.dialog.list) {d=top.dialog.list[i];}} if (d) { if (jQuery.isFunction(top.hideButtonTips)){top.hideButtonTips();} d.close(sReturnValue) ; } else { try { if(typeof(top.sObjectInfo)!="undefined" && typeof top.closeAndReturn == "function") { top.sObjectInfo = sReturnValue; top.closeAndReturn(); return; } else if (typeof top.dialogArguments !='undefined' && top==self){ if (typeof(sReturnValue)!="undefined") { top.returnValue=sReturnValue; } top.close(); return; } }catch (e) {alert("e"+e);} } }, RefreshMe : function(){ var top =AsDialog._getTop(); var d = top.dialog.getCurrent();if (!d && top.dialog.list){for (var i in top.dialog.list) {d=top.dialog.list[i];}} if (d) { if (d.iframeNode && d.iframeNode.contentWindow && d.iframeNode.contentWindow.refreshMe) { d.iframeNode.contentWindow.refreshMe(); } } else { try { if(typeof top.refreshMe == "function") { top.refreshMe(); return; } }catch (e) {alert("e"+e);} } }, ResizeDialog : function(){ var top =AsDialog._getTop(); var width = top.document.body.offsetWidth-2; var height = top.document.body.offsetHeight-2; var d = top.dialog.getCurrent(); d.width(width+"px"); d.height(height+"px"); }, _getStyleDialogWidth : function(sStyle, sDefaultValue){ if (!sDefaultValue ) sDefaultValue = 640; if (!sStyle) return sDefaultValue; var aMatch=sStyle.match(/dialogWidth[\s]*[:=][\s]*([\d]+)px/i); if (aMatch) return parseInt(aMatch[1]); aMatch=sStyle.match(/dialogWidth[\s]*[:=][\s]*([\d]+);/i); if (aMatch) return parseInt(aMatch[1]*16); else return sDefaultValue; }, _getStyleDialogHeight : function(sStyle, sDefaultValue){ if (!sDefaultValue ) sDefaultValue = 480; if (!sStyle) return sDefaultValue; var aMatch=sStyle.match(/dialogHeight[\s]*[:=][\s]*([\d]+)px/i); if (aMatch) return parseInt(aMatch[1]); aMatch=sStyle.match(/dialogHeight[\s]*[:=][\s]*([\d]+);/i); if (aMatch) return parseInt(aMatch[1]*16); else return sDefaultValue; }, _setItemValues : function(aField, sValues, isMulti){ if(typeof setItemValue != "function" && typeof getRow != "function") return; if(!sValues) return; if(sValues == "_CLEAR_"){ for(var i = 0; i < aField.length; i++){ setItemValue(0, getRow(), aField[i], ""); } return; }else{ if(typeof setItemValue == "function" && typeof getRow == "function"){ if(isMulti){ var aReturn = sValues.split("~"); var aValues = new Array(); for(var i = 0; i < aReturn.length; i++){ var vs = aReturn[i].split("@"); for(var j = 0; j < aField.length; j++){ if(i == 0) aValues[j] = ""; else aValues[j] += ","; aValues[j] += vs[j]; if(i == aReturn.length - 1) setItemValue(0, getRow(0), aField[j], aValues[j]); } } }else{ var aValues = sValues.split("@"); for(var i = 0; i < aField.length; i++){ setItemValue(0, getRow(), aField[i], aValues[i]); } } } } }, OpenCalender : function(obj,strFormat,startDate,endDate,postEvent,x,y){ if(typeof obj == "string") obj = document.getElementById(obj); if(!obj) return; var today = new Date();//.format(strFormat); //alert([getDate(startDate),getDate(endDate)]); SelectDate(obj,strFormat,getDate(startDate),getDate(endDate),postEvent,x,y); function getDate(sDate){ if(typeof sDate == "string" && sDate.toUpperCase() == "TODAY") return today; if(typeof sDate == "number"){ return new Date(today.getFullYear(), today.getMonth(), today.getDate()+parseInt(sDate, 10)); } return sDate; } } }; if(window == AsDialog._getTop()){ if (typeof($)!="undefined" && typeof(dialog)=="undefined") { $("head").append('<script type="text/javascript" charset="UTF-8" src="'+sWebRootPath+'/Frame/resources/js/dialog/dialog-min.js"></script>'); $("head").append('<link rel="stylesheet" type="text/css" href="'+sWebRootPath+'/Frame/page/resources/css/dialog.css">'); } } if(navigator.appName!="Microsoft Internet Explorer") { if (top && AsDialog) { AsDialog.srctop=top; AsDialog.mytop=AsDialog._getTop(); window.top = AsDialog.mytop; if (window == AsDialog.mytop) { window.parent=AsDialog.mytop}; } } if(navigator.appName!="Microsoft Internet Explorer") { if (Date.prototype.getFullYear) Date.prototype.getYear=Date.prototype.getFullYear; $(document).ready(function() { if (typeof(document.getElementByIdSrc)=="undefined") { document.getElementByIdSrc = document.getElementById; document.getElementById = function (idName) { var obj; try { obj = document.getElementByIdSrc(idName); } catch (e){} if (!obj) { obj = document.getElementsByName(idName)[0]; } return obj; } } }); } 请分析这段代码,然后如何在title里面加入缩放和扩大的按钮
最新发布
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值