快活林资源网 Design By www.csstdc.com
定义标准接口
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="/UploadFiles/2021-04-02/common.js">总结
以上所述是小编给大家介绍的JS 封装父页面子页面交互接口的实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
快活林资源网 Design By www.csstdc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
快活林资源网 Design By www.csstdc.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年12月28日
2024年12月28日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]