请教一个js问题,关于window打开新窗口,并关闭新窗口。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教一个js问题,关于window打开新窗口,并关闭新窗口。相关的知识,希望对你有一定的参考价值。

首先我用下面方法打开一个新页面:
window.showModalDialog(url,window, 'dialogWidth:260px;dialogHeight:280px;edge:sunken;help:no;resizable:yes;scroll:no;status:no;unadorned:no ');

然后在新页面写了一个close按钮(onclick="close();"),触发后关闭当前页面:
function close()
window.opener=null;
window.open('','_self');
window.close();

问题是:新页面打开后,点击close按钮,页面自动刷新后最大化了,然后再次点击close按钮才关闭,什么原因啊??请教高手啊

第二句window.open('','_self')导致的页面刷新。

应该你把function close()这个函数删掉就解决问题了。有用请采纳。

你即便不定义这个函数onclick="close()"也能关闭窗口,如果关不了就用onclick="window.close()"追问

函数必须要有,因为我还要触发一些额外的操作。至于 window.opener=null; window.open('','_self');window.close();这两行代码是我上网查的,强制关闭窗口(不会弹出提示框)用的,而且起到关闭窗口的作用了,只是在刷新后第二次点击的时候起作用。即便是我去掉window.open('','_self')这句,直接window.close(),也会刷新一遍后窗口最大化,应该不是那句的问题.....

追答

那你把onclick="close()"变成onclick="closeWindow()"好了,然后
function closeWindow()
close();//和window.close()等效,也是你自定义close函数出问题的原因,你和window.close()冲突。例如var a = 5; window.a = 6; alert(a); 你会看到6而不是5。


从网上找的代码最好测试一下,很多都有兼容性问题。以上代码我在firefox上测试是没问题的,而且一般来说对于window.open打开的新窗口执行close就会关闭,根本不会有提示窗口的。那种强制关闭之类的不是IE6就是IE5.5才有的特征。

参考技术A function openNewWindow()
window.open("forwardnewpage.jsp","","left=30,top=30,height=620,width=820,toolbar=no,menubar=no,scrollbars=no,resizable=no,status=no,location=no,directories=no,copyhistory=no");

window.opener=null;
window.open("","_self");
window.close();

<input type="button" value="打开新窗口关闭旧的" onclick="openNewWindow()">

请教一个js语法:window.open()在IE中只是打开一个新页面,怎样才能在IE中打开一个新窗口?

参考技术A js无法控制浏览器的行为的,除非有tab插件的接口可以让你调用。

还有一种方法就是修改IE的设置,将弹出窗口行为改为打开tab页:
打开IE8后,工具栏右上角选择“工具”-“internet选项”,进入设置
然后在弹出的属性设置窗口,靠下的“选项卡”点“设置”,然后在“遇到新窗口时”那一部分选中“始终在新选项卡中打开弹出窗口”,以及“从位于以下位置的其他程序打开链接”那一部分中选中“当前窗口中的新选项卡”,最后点“确定”。追问

哦,我试过了,可以的。

本回答被提问者采纳
参考技术B window.showModalDialog(strurl, 'tempdialog', 'dialogWidth=1024px;dialogHeight=900px;status:no;center:yes;help=no;resizable:no;croll=yes;'); 参考技术C 试试location.href追问

请给出完整代码。

以上是关于请教一个js问题,关于window打开新窗口,并关闭新窗口。的主要内容,如果未能解决你的问题,请参考以下文章

用js window.open在新窗口中打开链接,关于设置URL地址设置为变量的问题

关于js的window.open()

JS window.open()打开新窗口、监听新窗口关闭事件

js 用window.open(参数) 打开新窗口,在新窗口怎么获取传过来的参数

JS打开新窗口(window.open() href)

JS打开新窗口(window.open() href)