js父页面调用子页面数据时,子页面通过父页面传过来的参数回调父页面具体方法_html/css_WEB-ITnose

今天写代码时发现同一页面多个地方需要调用同一个子页面,如果多个方法调用时,同一子页面回调父页面方法则会出问题,所以查了下资料,让这个功能通用化,根据具体方法回调具体父页面方法,顺便总结一下,希望以后可以有用,或许可以帮助需要帮助的人

这里使用 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

(0)
上一篇 2025年3月28日 14:00:44
下一篇 2025年2月24日 01:07:43

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论