返回列表 發帖

window.open()後如何取得最上層父視窗?

大家好!

  想請問一個javascript window.open()的問題, 假如我有一個視窗A, A視窗中用window.open()開了一個B視窗, 在B視窗中又用window.open()開了一個C視窗, 如此可以一直循環開下去, 請問我在最後一個子視窗中要如果取得A視窗?

  另外在A視窗中要如何一次關掉所有的子視窗?

謝謝!

回復 1# mybible7

給你一段程式,可以自己玩玩看:
<button id="b1">Open</button>
<button id="b2">has Parent?</button>
<button id="b3">Close child</button>
<div id="d1"></div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script type="text/javascript">
var child;
$(function () {
    $("#b1").click(function () {
        child = window.open(window.location.href.split("/").slice(-1)[0], "W" + parseInt(Math.random() * 1000), 10);
    });
    $("#b2").click(function () {
        var op = window.opener;
        if (op) {
            while (op) {
                if (op.name === "") {
                    op.name = "top window";
                }
                $("#d1").append("<div>" + op.name + "</div>");
                op = op.opener;
            }
        } else {
            $("#d1").append("<div>null</div>");
        }
    });
    $("#b3").click(function () {
        closeAllChild();
    });
});
function closeAllChild() {
    if (child) {
        child.closeAllChild();
        child.close();
    }
};
To infinity and beyond!

TOP

返回列表 回復 發帖