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

WBOY
Freigeben: 2016-06-24 11:57:27
Original
942 Leute haben es durchsucht

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


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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage