一个test.htm页面如下:
<input type=button value=Close onclick="window.close()"><input type=button value=Open onclick="window.open('test.htm')">
点Open打开新窗口,然后在新窗口点浏览器的打印预览,再点Close按钮,发现关闭不了窗口了。
如果不点打印预览,直接点Close关闭窗口是没问题的。
如何让点过打印预览后也能用window.close()关闭窗口呢?
<input type=button value=Close onclick="window.close()"><input type=button value=Open onclick="window.open('test.htm')">
点Open打开新窗口,然后在新窗口点浏览器的打印预览,再点Close按钮,发现关闭不了窗口了。
如果不点打印预览,直接点Close关闭窗口是没问题的。
如何让点过打印预览后也能用window.close()关闭窗口呢?
<input type=button value=Close onclick="javascript:window.close();"><input type=button value=Open onclick="javascript:window.open('test.htm');">
JS这玩意还是把代码写的正规些吧……
<body>
<form id="form1" runat="server">
<div>
<input type=button value=Close onclick="window.close()"> <input type=button value=Open onclick="window.open('test.htm')"> </div>
</form>
</body>用的你代碼,打開B頁面,點close按鈕是可以關閉A頁面的.
ie6.0+xp sp2
不知道楼主的平台是什么
我说的是点了IE菜单上的打印预览后,然后关闭打印预览,然后再点关闭按钮去关闭窗口,这样是关不掉的,无论IE6\7\8都是.考虑到浏览器的安全性问题,不想用WebBrowser.ExecWB(45,1)
ding
ding
a
里加:
<base target="_self"></base>
IE的BUG很多
<body>
<form id="form1">
<div>
<input type=button value=Close onclick="window.close()"> <input type=button value=Open onclick="window.open('test.htm')"> </div>
</form>
</body>
按照楼主说的操作,结果我的可以关掉.IE6.0
顶这个
<input type=button value=Open onclick="window.open('test.htm')">test.htm
<input type=button value=Close onclick="window.close()">
在1.htm中点击open按钮打开test.htm,
这时点test.htm的打印预览,再点Close按钮,发现关闭不了窗口了
-------------------------------------------------------------------
这样关闭才是真正的关闭
function closewindow(){
if(window.opener){
window.opener.location.reload(true);
window.close();
}
}---------------------------------------------------------------
普通的关闭如果失去焦点就说不好了,有可能打开多个窗口!!
如下是打开方法!
function openWin(f,n,w,h,s){
sb = s == "1" ? "1" : "0";
l = (screen.width - w)/2;
t = (screen.height - h)/2;
sFeatures = "left="+ l +",top="+ t +",height="+ h +",width="+ w
+ ",center=1,scrollbars=" + sb + ",status=0,directories=0,channelmode=0";
openwin = window.open(f , n , sFeatures );
if (!openwin.opener)
openwin.opener = self;
openwin.focus(); //发现很多程序员都不写这个。
return openwin;
}
用WebBrowser.ExecWB(45,1)试过了没问题,但考虑到浏览器安全性不想用这个来做.
ff只能使用window.close关闭window.open打开的窗口。否则,需要修改浏览器配置的
打打印预览后無法用window.close()關閉用window.open()的窗口的
看60樓有沒有其它的解決辦法
不明白为什么有这么多人在这充内行,回答别人问题先麻烦自己先测试,不要那么不负责任。
先不管是不是open的页面,哪怕就是一个普通的页面,只有这样一句代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="JSapsxcs.aspx.cs" Inherits="JSapsxcs" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="close" onclick="javascript:window.close();" id="btnClose" />
</div>
</form>
</body>
</html>
这样,直接关闭是没有问题的,但是点击打印预览,然后关闭预览窗口,再点击这个按钮,就没有任何作用了。
xp sp3+ie7,希望大家一起来负责的找原因,而不是口口声声说试了“正解”!!!尝试了指定页关闭,base _self等都没有用。
找了国外的网站,都有这个问题。
javascript:document.all.WebBrowser.ExecWB(45,1);是我目前在国外站点发现的唯一方法,希望还有更高明的方法。
没点打印预览之前,点这个按纽可以正常关闭的,点了打印预览之后,关闭打印预览窗口,之后再点这个Close按纽,惊奇的发现窗口不能关闭了.我用XP+IE7和WIN2003+IE6,WIN2003+IE8都试过,都不能关闭.但有神奇的牛人说他神奇的IE6正常可以关闭.所以我现在也不明白到底是哪出了问题.用javascript:document.all.WebBrowser.ExecWB(45,1);是没问题的,但考虑安全性不想用.
把下面的代码保存在记事本里,修改为test.htm这样是可以关掉的.<body>
<form id="form1">
<div>
<input type=button value=Close onclick="window.close()"> <input type=button value=Open onclick="window.open('test.htm')"> </div>
</form>
</body>
aspx的有可能就关不掉.我这里没有环境,不好测试.
确实有这个问题,点击打印预览后关闭窗口用javascript:document.all.WebBrowser.ExecWB(45,1);这个才可以,window.close()不管用,个人认为不必太深究了,没准等IE9就修正了
已测试能关闭。
如果你那里实在关不掉。换
<script>
function db(){
window.close();//这样试试,看能不能关闭
}
</script>
调用:<input type=button value=Close onclick="javascript:db();">