德拉诺黄金挑战怎么做:关于javascript关闭弹出的窗口

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 01:10:12
javascript 在知道别的网站弹出窗口名称时,可以关闭该窗口。
如某网站弹出代码是:
window.open("ad.htm","newwin","")
那我就可以在我网站上再放一个代码
window.open("close.htm","newwin","") //窗口名与上面的名相同
close.htm中含有代码:self.close
这样就可以把窗口关闭。

这是知道弹出窗口名的情况下可以实现。

但我现在要做的是在不知道窗口名称时怎么办? 请高手提供解决方案!!
该网站的弹出窗口名称是变化的,每次的名称都不一样

楼主,给你2个方案

1:将window.open();方法返回的对象放在一个变量里,如:

var winObject = window.open("xxx.htm","_blank");

这样就可以用winObject对象来操作已经弹出的窗口,比如:

if (!winObject.closed) //判定是否已经关闭,已经关闭时值为true
{
winObject.close();
}
这样就可以关闭

2:可以在已经弹出的子窗口中调用父窗口的函数来使子窗口关闭,如父窗口中有一个函数为:

var winObject = window.open("xxx.htm","_blank");
function closeTest()
{
if (!winObject.closed)
{
winObject.close();
}
}
子窗口可以通过一个对象来调用

window.opener.closeTest();

OK了

找到它的名字不就可以了吗?
如果是再a页面中弹出b页面,那么open代码往往再a页面中,从源文件里应该能看的出来。

如果弹出窗口的代码改为:
AD=window.open("***","***","***");
那么,不管他弹出什么名字的窗口,只要写:
AD.close();
就可以关掉它。

用ie的查找功能,找出包含有windows.open字样的字符,