5、插件源碼:CommonMethod = {/*** 彈出對話框* @param {Object} dialogId:對話框ID* @param {Object} title:標題* @param {Object} width:寬度* @param {Object} height:高度* @param {Object} options: { * modal:是否模式窗口,* draggable:是否可拖動,* resizable:是否可改變大小,* minimizable:是否顯示最小化按鈕,* maximizable:是否顯示最大化按鈕,* closable:是否顯示關閉按鈕,* inline:是否內部窗口,* toolbar:工具條對象,* buttons:按鈕對象,* showMainPage:是否在系統主界面顯示* }* @param {Object} callBackFun:關閉后回調方法*/showDialog: function(dialogId, title, url, width, height, options, callBackFun){var opts = {id: dialogId,title: title,url: url,width: width,height: height,inline: true,onClose: function(){opts.baseWin.$("#" + opts.id).dialog("destroy");if(callBackFun && callBackFun != null && typeof(callBackFun) != "undefined"){callBackFun.call(this);}} };if(options){for(var key in options){opts[key] = options[key];}}if(opts.showMainPage && $.trim(opts.showMainPage) == "true"){opts.baseWin = window.top; //系統主窗口界面}else{opts.baseWin = window;}var div = opts.baseWin.document.createElement("div");div.id = opts.id;if(opts.url){div.innerHTML = '<iframe scrolling="no" frameborder="0" src="'+ opts.url +'" style="width:100%;height:100%;overflow:hidden;border:0px;"></iframe>';}opts.baseWin.document.body.appendChild(div);var baseWinHeight = $(opts.baseWin).height();var baseWinWidth = $(opts.baseWin).width();if(opts.height >= baseWinHeight){opts.height = baseWinHeight - 2;}if(opts.width >= baseWinWidth){opts.width = baseWinWidth - 2;}opts.top = ($(opts.baseWin).height() - opts.height) / 2;opts.left = ($(opts.baseWin).width() - opts.width) / 2;opts.baseWin.$(div).dialog(opts);//刪除以前的返回值$(window.top.document.body, window.top.document).find("#returnValue_" + opts.id).remove();},/*** 關閉對話框* @param {Object} dialogId*/closeDialog: function(dialogId){if(window.frameElement){ //當前窗體所在的iframeif(window.parent.$("#" + dialogId).parent().hasClass("panel")){ //EasyUI 彈出框window.parent.$("#" + dialogId).dialog("close");}else{if(!window.top.closed){window.opener.top.opener = null;window.top.open("", "_self");window.top.close();}}}else{ //IE 彈出框if(!window.closed){window.opener = null;window.open("", "_self");window.close();}}},/*** 關閉對話框事件處理* @param dialogId* @param callBackFun*/addCloseDialogEvent: function(dialogId, callBackFun){if(window.frameElement){ //當前窗體所在的iframeif(window.parent.$("#" + dialogId).parent().hasClass("panel")){ //EasyUI 彈出框var cloSEObj = window.parent.$("#" + dialogId).parent().find("div.panel-tool-close");closeObj.unbind("click").bind("click", function(){if(callBackFun && callBackFun != null && typeof(callBackFun) != "undefined"){callBackFun.call(this);}});}}},/*** 設置對話框的返回值* @param {Object} dialogId* @param {Object} returnValue*/setDialogReturnValue: function(dialogId, returnValue){if(window.frameElement){ //當前窗體所在的iframeif(window.parent.$("#" + dialogId).parent().hasClass("panel")){ //EasyUI 彈出框$(window.top.document.body, window.top.document).prepend('<input type="hidden" id="returnValue_' + dialogId + '" value=""/>');$(window.top.document.body, window.top.document).find("#returnValue_" + dialogId).val(returnValue);}}else{ //IE 彈出框window.returnValue = returnValue;}},/*** 獲取對話框的返回值* @param {Object} dialogId* @return {TypeName} */getDialogReturnValue: function(dialogId){var returnValue = $.trim($(window.top.document.body, window.top.document).find("#returnValue_" + dialogId).val());return returnValue;}}新聞熱點
疑難解答