亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

JS 封裝父頁面子頁面交互接口的實例代碼

2024-05-06 16:52:45
字體:
來源:轉載
供稿:網友

定義標準接口

 

Interface= {}; Interface.ParentWin = {}; Interface.ChildWin = {}; /** * 父頁面提供的標準接口函數名稱 */ Interface.ParentWin.funName = {   getDataFun: "getDataFun", //子頁面調用,提供給子頁面的數據接口   updateDataFun: "updateDataFun", //子頁面調用,向父頁面提交數據接口   closeFun: "closeFun" //子頁面需要關閉時,調用父頁面的關閉窗口接口 } /** * 父頁面設置需要提供給子頁面的接口函數 * @param childWinId :要使用的子頁面對應接口的id,該id需要與子頁面中定義的id一致 * @param functionName : 需要注冊的回調函數名稱,接口名稱只能是Interface.ParentWin.funName中定義的名稱 * @param callbackFun :子頁面數據向父頁面更新數據時的回調函數,接口入參為js對象 */ Interface.ParentWin.setFunForChild = function(childWinId, functionName, callbackFun) {   if (comm.isEmpty(childWinId)) {     alert("沒有為子頁面調用接口定義對象Id");     return;   }   //保存父頁面提供給子頁面調用的接口總對象   if (comm.isEmpty(window.childCallbackObj)) {     window.childCallbackObj = {};   }   //與指定子頁面對應的回調接口對象   var childCallbackObj = window.childCallbackObj;   if (comm.isEmpty(childCallbackObj[childWinId])) {     childCallbackObj[childWinId] = {};   }   var childObj = childCallbackObj[childWinId];   if (!comm.isEmpty(childObj[functionName])) {     alert("子頁面" + childWinId + " 所需調用接口已存在" + functionName);     return;   }   //檢查接口是否為注冊的接口   for (var pro in Interface.ParentWin.funName) {     if (Interface.ParentWin.funName[pro] == functionName) {       childObj[functionName] = callbackFun;       return;     }   }   alert("子頁面 " + childWinId + " 所需調用接口未注冊:" + functionName + "。請檢查接口定義聲明對象。"); } /** * 檢查指定的子頁面調用接口是否存在 */ Interface.ChildWin.checkValid = function(childWinId, funName) {   var parentWin = window.parent;   var childCallbackObj = parentWin.childCallbackObj;   if (comm.isEmpty(childWinId)) {     alert("子頁面調用接口定義對象Id不能為空!");     return false;   }   if (comm.isEmpty(childCallbackObj)) {     alert("父頁面調用接口定義的對象不存在");     return false;   }   var childObj = childCallbackObj[childWinId];   if (comm.isEmpty(childObj)) {     alert("子頁面調用接口定義的對象不存在");     return false;   }   if (comm.isEmpty(childObj[funName])) {     alert("父頁面調用接口定義不存在:" + funName);     return false;   }   return true; } /** * 子頁面調用父頁面的接口函數 * @childWinId :子頁面定義的自身頁面Id * @funcName : 需要調用的回調函數名稱 * @params : 需要傳遞的參數 * @return :如果函數有返回值則通過其進行返回 */ Interface.ChildWin.callBack = function(childWinId, funcName, params) {   if (!Interface.ChildWin.checkValid(childWinId, funcName)) {     return;   }   var parentWin = window.parent;   var childObj = parentWin.childCallbackObj[childWinId];   return childObj[funcName].call(parentWin, params); }demo<!DOCTYPE html><html>  <head>    <meta charset="utf-8">    <title>父頁面</title>  </head>  <body>        <script src="js/common.js"></script>    <script>      //傳給子頁面的值      Interface.ParentWin.setFunForChild("data", Interface.ParentWin.funName.getDataFun, function() {        return value;      });            //獲取子頁面函數并調用      window.fun;      Interface.ParentWin.setFunForChild("test",Interface.ParentWin.funName.updateDataFun,function(param){        fun = param;      });            //調用      var val = fun("1111");      console.log(val);    </script>  </body></html><!DOCTYPE html><html>  <head>    <meta charset="utf-8">    <title>子頁面</title>  </head>  <body>    <script src="js/common.js"></script>    <script>            //父頁面傳入數據      var data = Interface.ChildWin.callBack("data", Interface.ParentWin.funName.getDataFun);       console.log(data);            //提供給父頁面調用的函數      Interface.ChildWin.callBack("test",Interface.ParentWin.funName.updateDataFun,function(data){        alert(data);        var str = "xxx";        return str;      });          </script>  </body></html>

總結

以上所述是小編給大家介紹的JS 封裝父頁面子頁面交互接口的實例代碼,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产成人| 欧美理论在线观看| 狠狠躁18三区二区一区| 日本sm极度另类视频| 亚洲精品乱码久久久久久金桔影视| 亚洲男人天堂久| 日韩免费中文字幕| 亚洲国产中文字幕在线观看| 韩国三级日本三级少妇99| 日韩有码片在线观看| 亚洲国产欧美一区二区三区久久| 久久艳片www.17c.com| 日韩av电影手机在线观看| 欧美在线视频在线播放完整版免费观看| 国产日韩av在线| 久久久精品久久久久| 庆余年2免费日韩剧观看大牛| 国产精品扒开腿做爽爽爽的视频| 91精品久久久久久久久久另类| 久久国产精品影片| 欧美成人午夜激情视频| 国产成人自拍视频在线观看| 热久久这里只有| 国产精品久久久久久久久久新婚| 亚洲美女精品久久| 69av视频在线播放| 少妇高潮久久77777| 91精品国产乱码久久久久久久久| 欧美在线不卡区| 欧美一乱一性一交一视频| 欧亚精品中文字幕| 日韩av色在线| 91精品国产综合久久久久久蜜臀| 伊人久久免费视频| 亚洲2020天天堂在线观看| 久久在线观看视频| 伦伦影院午夜日韩欧美限制| 欧美人在线视频| 久久精品免费播放| 中文字幕精品久久| 日韩综合中文字幕| 伊人久久大香线蕉av一区二区| 欧美日韩免费区域视频在线观看| 亚洲第一免费播放区| 91在线观看免费网站| 精品久久中文字幕久久av| 欧美另类在线播放| 久久综合网hezyo| 日韩中文av在线| 性色av一区二区三区| 亚洲人成啪啪网站| 亚洲精品日韩欧美| 91免费电影网站| 黑人欧美xxxx| 日韩精品欧美国产精品忘忧草| 日韩免费视频在线观看| 国产香蕉97碰碰久久人人| 亚洲福利在线观看| 国产91av在线| 国产精品99久久久久久久久久久久| 自拍视频国产精品| 国内精品久久久久久| 国产a∨精品一区二区三区不卡| 日韩专区在线观看| 高清欧美性猛交xxxx黑人猛交| 欧美亚洲另类激情另类| 成人午夜一级二级三级| 亚洲另类xxxx| 国产日韩中文在线| 色综合伊人色综合网站| 一区二区中文字幕| 久久99热精品这里久久精品| 欧美日本啪啪无遮挡网站| 97在线视频一区| 不卡av在线播放| 日韩中文字幕在线免费观看| 精品久久久久久久中文字幕| 国产亚洲一级高清| 久久国产精品久久精品| 国产99久久精品一区二区永久免费| 色视频www在线播放国产成人| 国产精品久久久久一区二区| 欧美性色19p| 色99之美女主播在线视频| 日韩精品高清在线观看| 2021久久精品国产99国产精品| 日韩久久精品电影| 久久久久久亚洲| 91精品久久久久久| 国产一区玩具在线观看| 欧美电影免费观看电视剧大全| 日韩一区二区三区xxxx| 亚洲精品色婷婷福利天堂| 亚洲精品福利在线观看| 久久精品视频网站| 日韩精品亚洲元码| 亚洲黄色www网站| 国产精品激情av电影在线观看| 91国产中文字幕| 午夜精品视频在线| 亚洲第一天堂av| 精品久久久久久久久久久久久| 久久久久久久999精品视频| 亚洲精品电影久久久| 欧美极品美女视频网站在线观看免费| 国产99久久精品一区二区 夜夜躁日日躁| 国产精品国模在线| 91探花福利精品国产自产在线| 久久视频在线视频| 日韩欧美黄色动漫| 久久视频这里只有精品| 色婷婷综合成人av| 日韩亚洲第一页| 欧美激情精品久久久久久大尺度| 久久久久亚洲精品| 国产精品日日做人人爱| 精品国产成人av| 日韩中文字幕在线播放| 亚洲高清色综合| 亚洲级视频在线观看免费1级| 亚洲摸下面视频| 中文日韩在线观看| 国产亚洲成av人片在线观看桃| 国产精品成人va在线观看| 国产成人一区二区在线| 成人久久精品视频| 欧美高清无遮挡| 91在线观看免费观看| 国产91在线播放| 亚洲美女www午夜| 亚洲欧美国产高清va在线播| 国产精品白嫩美女在线观看| 91精品视频免费观看| 亚洲第一福利在线观看| 欧美高清不卡在线| 久久精品中文字幕一区| 国产一区二区三区日韩欧美| 国产日韩综合一区二区性色av| 久99九色视频在线观看| 欧美成人免费一级人片100| www.亚洲人.com| 中文字幕亚洲二区| 中文字幕精品网| 欧美国产日本高清在线| 亚洲精品久久久久久下一站| 欧美夫妻性生活xx| 欧美色视频日本高清在线观看| 欧美激情精品在线| 欧美一级免费视频| 久久亚洲国产成人| 久久av.com| 国内精品久久久久久影视8| 欧美高清电影在线看| 国产专区欧美专区| 亚洲人高潮女人毛茸茸| 亚洲精品午夜精品| 国产69精品99久久久久久宅男| 欧美日韩一区二区免费在线观看| 超碰精品一区二区三区乱码| 国产99久久精品一区二区| 欧美日韩一区二区三区在线免费观看| 国产美女久久精品| 麻豆乱码国产一区二区三区| 欧美中文字幕精品|