
標題: window.open()後如何取得最上層父視窗? [打印本頁]
作者: mybible7 時間: 2011-11-29 17:19 標題: window.open()後如何取得最上層父視窗?
大家好!
想請問一個javascript window.open()的問題, 假如我有一個視窗A, A視窗中用window.open()開了一個B視窗, 在B視窗中又用window.open()開了一個C視窗, 如此可以一直循環開下去, 請問我在最後一個子視窗中要如果取得A視窗?
另外在A視窗中要如何一次關掉所有的子視窗?
謝謝!
作者: wmh 時間: 2011-11-30 00:01
回復 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();
}
};
歡迎光臨 jsGears.com 技術論壇 - AJAX, JavaScript, jQuery, 網站開發, 前端效能優化 (http://jsgears.com/) |
|