有两个子窗口B和C.父窗口是A.我想在用户点击B中的按钮时关闭C窗口。
window.opener()提供对父对象的引用。出于测试目的,我们假设C窗口名称也是" name"。然后下面从B调用的代码应该关闭C窗口。
但它不起作用。
var windowObjectReference = window.opener.open("www.google.com" , "name");
windowObjectReference.close();
知道怎么做吗?
答案 0 :(得分:0)
由于父窗口具有对子窗口的引用,因此只需使用父窗口在B子窗口中设置按钮的处理程序。 类似的东西:
var windowB = window.open( ... ),
windowC = .... ,
buttonB = windowB.document.querySelector(...yourButtonReference...);
buttonB.onclick = function() {
windowC.close();
window.open('http://www.google.com');
}
如果您不想关闭C窗口,可以尝试用google替换C窗口的window.location。 您的父窗口包含所有引用,因此更容易让父窗口执行所有打开/关闭,而不是让子窗口尝试访问其兄弟姐妹。