从另一个子窗口更新子窗口中的内容

时间:2014-05-01 01:46:30

标签: jquery window.opener

我想做一些我认为相对容易的事情 - 希望有人知道如何做到这一点。我有一个窗口,上面有链接,创建多个子窗口。我想要做的是从不同的子窗口更新子窗口的内容 -

从孩子1:

更改parent.child2.div的内容

我希望这是有道理的...我已经搜索过并搜索过了,但是无法确定如何使用windows(不仅仅是div或者span),等)。

TIA!

父母示例:

var win1,win2;
function openwin1(){
    if(win1 == undefined)
        win1 = window.open('/win1.html','win1');
    else
        win1.focus();
}

function openwin2(){
    if(win2 == undefined)
        win2 = window.open('/win2.html','win2');
    else
        win2.focus();
}

$(document).ready(function(){   
    $('#win1link').click(function() {
        openwin1()
    }); 
    $('#win2link').click(function() {
        openwin2()
    });

});

<p><A HREF="javascript: void(0);" ID="win1link">Win 1</A></p>
<p><A HREF="javascript: void(0);" ID="win2link">Win 2</A></p>
从win1

我想更新win2中的div:

示例win1:

function updateParentChild () {
    parentwindow.win2.div.html('newhtml');
}

示例win2:

<DIV>oldhtml</DIV>

1 个答案:

答案 0 :(得分:0)

是的,您可以这样做(代码仅供参考)

win1.html

<input type="text" onKeyUp="window.opener.win2.document.getElementById('my_div').innerHTML = this.value;" />

win2.html

<div id="my_div"></div>

所有内容都必须位于同一个域中,Chrome可能无法在本地文件上使用。