注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

幽狼De博客

记录成长中的点点滴滴

 
 
 

日志

 
 

javascript关闭窗口,不弹出提示框,兼容FF  

2009-07-08 14:38:42|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

window.close()是用来关闭窗口的,而且ie和firefox都是支持的。
为了实现用户对浏览器的绝对控制,ie中用close关闭非open打开的窗口时回弹出一个对话框询问用户,怎么去掉这个框呢,请看下面的代码。

function winClose(){ window.top.opener = null; window.close(); }

在window.close之前加上window.top.opener = null就可以了


有人说firefox不支持close,其实这是错误的,之所以window.close在firefox不能使用,是因为firefox默认不能关闭用户打开的网页,可以这样设置firefox。

打开firefox,在地址栏输入about:config
找到dom.allow_scripts_to_close_windows这项并改为true。
需要说的是在firefox中没有弹出对话框的麻烦。

<script>
function a(){
window.open('','_parent','');
window.opener = window;
window.close();
}
</script>
再运行这个就能在ff下关闭了。

看到这些,如果让客户去设置的话,等于没有做这个功能,所以说结果不是很满意。


利用打开一个新窗口,然后关闭这个页面就可以实现关闭当前页面。


index.html
<a href="c.html" target="_blank">ddddddddd</a>

c.html
<a href="javascript:window.open('','_parent','');window.close();">Close Window</a>


方法一:

此方法在IE7中测试通过。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无提关闭窗</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
function Close()
{  
   //关闭当前窗口
   window.open('','_parent','');
   window.close();
}
function OpenWin(url)
{
   //全屏打开窗口,网址 url
    window.open(url,'_blank','fullscreen=1');
    Close();
}

</script>
<input type="button" value="关闭"   onclick="Close();"/>
</body>
</html>

方法二:

1·把下面这段代码加到你要执行关闭IE窗口的那桢上:
   getURL("javascript:window.opener=null;window.close();");

2·把下面的代码加到你的那个按钮上:
on(release){
    getURL("javascript:window.opener=null;window.close();");
}


这种不能直接关闭原来点IE打开的窗口的!
<object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
</object>
<input type="button" name="Button" value="关闭窗口" onClick="document.all.WebBrowser.ExecWB(45,1)">

方法三:

在不是js打开的页面上按window.close(),会有提示框,很烦,现在可以不用了,没有提示框直接关闭窗口。

试试下面代码:

<object id=WebBrowser width=0 height=0 classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2>
</object>
<input type=button name=Button value=关闭窗口 onClick=document.all.WebBrowser.ExecWB(45,1)>

试着改变参数会得到其他一些功能:

WebBrowser.ExecWB(1,1) 打开
WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
WebBrowser.ExecWB(4,1) 保存网页
WebBrowser.ExecWB(6,1) 打印
WebBrowser.ExecWB(7,1) 打印预览
WebBrowser.ExecWB(8,1) 打印页面设置
WebBrowser.ExecWB(10,1) 查看页面属性
WebBrowser.ExecWB(15,1) 好像是撤销,有待确认
WebBrowser.ExecWB(17,1) 全选
WebBrowser.ExecWB(22,1) 刷新
WebBrowser.ExecWB(45,1) 关闭窗体无提示

这些只对IE5.5以上版本有效,我是在IE6下测试的,通过的。

  评论这张
 
阅读(2507)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017