请教一个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按钮才关闭,什么原因啊??请教高手啊
应该你把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才有的特征。
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()打开新窗口、监听新窗口关闭事件