JS内嵌多个页面,页面之间如何更快捷的查找相关联的页面

假设parent为P页面,javascript

P页面有两个子页面,分别为B页面和C页面;java

B页面和C页面分别内嵌一个iframe,分别为:D页面和E页面布局

如今经过B页面的内嵌页面D的方法refreshEpage(eUrl)来加载内嵌页面E的内容.ui

需求:经过页面E如何快速找到页面D?this

常规的作法是经过E页面经过.parent找到页面B,再经过页面B找到里面内嵌的页面Espa

更方便的作法能够这样:code

在页面D里面定义一个全局变量var dPage;在D页面调用refreshEpage(eUrl)来刷新页面E的内容的时候,在refreshEpage()方法中吧D页面的window对象传递过去,此时须要给方法增长一个额外参数refreshEpage(eUrl,dPageVal),这样,D页面这么调用:refreshEpage(eUrl,window);对象

在E页面加载完成以后,让dPage = dPageVal,这样在E页面里面能够直接使用D页面的window对象ip

 

以Easyui的layout的复杂布局来讲iframe

function refreshEpage(eUrl,dPageVal){
    var tabs = $("#tabs").tabs("tabs");
    $.each(tabs,function(index){
        var name = $(this).attr("name");
        if(name == 'E页面'){
            var panel = $(this);
            panel.panel('options').href = eUrl;
            panel.panel('options').onLoad = function(){
                //在E页面加载完成以后,使其里面的变量的值为D页面的window对象,这样在E页面中能够随意获取D页面的元素或者方法
                panel.panel('body').find("iframe[0].contentWindow.dPage = dPageVal;
            }
        }
    });

}
相关文章
相关标签/搜索