今天写代码时发现同一页面多个地方需要调用同一个子页面,如果多个方法调用时,同一子页面回调父页面方法则会出问题,所以查了下资料,让这个功能通用化,根据具体方法回调具体父页面方法,顺便总结一下,希望以后可以有用,或许可以帮助需要帮助的人
这里使用 eval() 函数
立即学习“前端免费学习笔记(深入)”;
定义和用法
立即学习“前端免费学习笔记(深入)”;
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
父页面调用子页面的路径(子页面的路径)如下
http://localhoust:8080/oss-portlet/html/util/area.html?oid=4&name=测试&callBack=callBackDistrict
callback:参数为父页面的具体方法名称
子页面调用父页面的callback指定的方法
eval(‘window.opener.’ + getParams(“callBack”) + ‘(\” + ids + ‘\’,\” + names + ‘\’)’);
window.close();
/**
* 获取页面路径参数值
*/
function getParams(key) {
var href = window.document.location.href;
if (href.indexOf(“?”) != -1) {
var paramStr = href.substring(href.indexOf(“?”) + 1, href.length);
if (paramStr.indexOf(key + “=”) != -1) {
paramStr = paramStr.substring(paramStr.indexOf(key + “=”),
paramStr.length);
if (paramStr.indexOf(“&”) != -1) {
return paramStr.substring(paramStr.indexOf(“=”) + 1, paramStr
.indexOf(“&”));
} else {
return paramStr.substring(paramStr.indexOf(“=”) + 1,
paramStr.length);
}
} else {
return “”;
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3092477.html