`
wasw100
  • 浏览: 127348 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

javascript关闭窗口(兼容firefox,IE)

阅读更多

javascript关闭窗口,可以用下面简单的代码:

<a href="javascript:self.close()">关闭窗口</a>

 
我在IE7下测试通过,但是firefox3.0却不行。
难道firefox不支持在href中直接写JavaScript?于是改成下面的样子:

<a href="javascript:alert('Hello World')">弹出窗口</a>

 
这次IE7和firefox下测试都通过。那就不是href中直接写JavaScript的原因了。
继续测试firefox怎么关闭自身窗口

改成了如下代码

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
<!--
function windowClose(){
//self.close();
window.close();
}
//-->
</script>
<title>js测试</title>
</head>
<a href="javascript:self.close()">关闭窗口</a><br />
<a href="javascript:alert('Hello World')">弹出窗口</a><br /> 
<a href="#" onclick="windowClose()">js函数关闭窗口</a>
<body>
</body>
</html>

 
还是不能关闭窗口。难道firefox不支持window的close属性?
那window对象的close方法能不能关闭open方法打开的窗口呢?

写下面两个html文件放在同一个文件夹下

<script type="text/javascript">
<!--
function openWindow(){
window.open("new.html","newWindow","width=200,height=100,toolbar=no");
}
//-->
</script>
<a href="#" onclick="openWindow()">open函数打开新窗口</a><br />
<a href="new.html" target="_blank">超级链接在新窗口中打开新页面</a><br />
<a href="new.html" target="_parent">超级链接在父窗口中打开新页面</a>

 

<a href="javascript:window.close()">关闭窗口</a>
<a href="javascript:self.close()">关闭窗口</a>

 
用open方法和在"_blank"打开的可以在新窗口中关闭,而在"_parent"中打开的在firefox中还是关闭不



因此在firefox里用window的close方法时要注意他和IE不同的地方:在父窗口打开的页面是不能用close

方法关闭的。

然后去google搜了一下:之所以window.close在firefox不能使用,是因为firefox默认不能关闭用户打

开的网页
,我们可以这样设置firefox:

打开firefox,在地址栏输入about:config

找到dom.allow_scripts_to_close_windows这项并改为true。

现在知道为什么了吧。那篇文章还有一段不错的内容,摘录如下:

众所周知,在javascript中window.close()是用来关闭窗口的,而且ie和firefox都是支持的。为了实现

用户对浏览器的绝对控制,ie中用close关闭非open打开的窗口时会弹出一个对话框询问用户。有时候我

们不希望再这样哆嗦,但是怎么去掉这个框呢,用下面的代码就可以了

<script language="javascript" type="text/javascript"> 

function closeWindow() { 

window.open('','_parent',''); 

window.close(); 

} 

</script> 
<a href="javascript:closeWindow();">Close Window</a>

 

参考文章:

1.http://hi.baidu.com/suen_%CB%EF/blog/item/bedca57f8932480d28388a49.html
2.http://blog.csdn.net/a9529lty/archive/2008/11/22/3351539.aspx

分享到:
评论
2 楼 keshin 2009-10-29  
如果仅仅是要在ie下去除提醒框,用这种方法也可以(ie6下测试有效,ie7跟8不确定):
window.opener = null;
window.close();

用户打开的页面的opener为undefined,貌似ie仅仅是判断其是否为undefined。

至于firefox下,这种办法同样无效,且在firefox下用户打开的页面的opener为null,有无人有其他解决办法?
1 楼 mlw2000 2009-10-27  
还是没办法实现兼容,不会有用户那么专业的去
开firefox,在地址栏输入about:config

找到dom.allow_scripts_to_close_windows这项并改为true

相关推荐

    JavaScript 瀑布流 吸顶 兼容IE FF Chrome

    实现JavaScript瀑布流兼容IE、Firefox和Chrome的方法包括: 1. 使用条件注释或者现代izr库来检测浏览器版本和特性。 2. 对于不支持CSS3 Flexbox或Grid的浏览器,可以使用JavaScript来计算和设置元素的样式,如宽度...

    javascript的IE和Firefox兼容性汇编

    ### JavaScript的IE与Firefox兼容性解决方案 #### 一、`document.form.item` 问题 - **现有问题**:代码中存在大量使用 `document.formName.item("itemName")` 的语句,这种写法在 Mozilla Firefox(简称MF)...

    IE和Firefox在css,JavaScript方面的兼容性

    标题与描述均聚焦于“IE和Firefox在css,JavaScript方面的兼容性”,这涉及到网页开发中一个重要的议题:浏览器兼容性。在web开发中,确保代码能在不同浏览器上正常运行是至关重要的,因为用户可能使用各种不同的...

    DOM文档和Javascript的IE和Firefox兼容性

    "Javascript的IE和Firefox兼容性"则涉及到JavaScript在不同浏览器中的行为一致性问题。Internet Explorer(IE)和Mozilla Firefox是两个历史悠久且具有广泛用户基础的浏览器,它们对JavaScript的支持存在差异,尤其...

    IE(6,7,8)与FireFox兼容的打开关闭窗口脚本

    本文将深入探讨如何为IE(6、7、8)和Firefox编写兼容的打开、关闭窗口的JavaScript脚本,以帮助开发者解决跨浏览器的兼容性问题。 首先,我们需要理解IE和Firefox对JavaScript的处理方式有所不同。Internet ...

    ie firefox 兼容问题大全

    ### IE与Firefox兼容性问题详解 #### 一、概述 在网页开发过程中,浏览器兼容性问题一直是前端开发者面临的重要挑战之一。尤其是对于早期版本的Internet Explorer(简称IE)与Mozilla Firefox(简称Firefox)来说...

    拖动的table(兼容Firefox 3.5 IE6)

    在web中模拟窗口表格控件,可以用鼠标拖动改变表格列宽,兼容Firefox 3.5和IE6浏览器。

    JavaScript无提示关闭窗口(兼容IE/Firefox/Chrome)

    本文将详细介绍如何在JavaScript中实现这个功能,并确保其兼容IE、Firefox和Chrome等主流浏览器。 首先,要理解不同浏览器对关闭窗口的不同处理方式。在JavaScript中,`window.close()`方法通常用于关闭当前窗口,...

    IE,firefox(火狐)浏览器无提示关闭窗口js实现代码小结

    经软件开发网编辑整合的... js关闭窗口兼容firefox、chrome、ie 代码如下: function windowclose() { var browserName = navigator.appName; if (browserName==”Netscape”) { window.open(”, ‘_self’, ”); window

    Javascript在IE和Firefox浏览器常见兼容性问题总结

    JavaScript在不同浏览器之间存在一些兼容性问题,尤其是在早期版本的Internet Explorer(IE)和Firefox之间。这些问题主要体现在访问和操作DOM元素、事件处理、属性访问以及函数调用等方面。以下是一些关键点的详细...

    图片浏览直接显示[兼容IE,FireFox]

    "图片浏览直接显示[兼容IE, FireFox]"这个标题暗示了我们要讨论的是如何在两种主流浏览器——Internet Explorer(IE)和Firefox中实现图片的无缝浏览体验。尽管IE浏览器已经不再更新,但在某些环境下仍被使用,因此...

    兼容IE,FireFox的浮动图片广告

    标题中的“兼容IE,FireFox的浮动图片广告”意味着这个技术解决方案主要关注的是在两种主流浏览器——Internet Explorer(IE)和Firefox上实现一致的浮动图片广告展示效果。在Web开发中,由于不同浏览器对HTML、CSS和...

    javascript firefox兼容ie的dom方法脚本

    在给定的标题和描述中,主要涉及了JavaScript在Firefox和IE中DOM方法的兼容问题以及相应的解决方案。以下是一些关键点的详细解释: 1. **集合类对象的获取**:在IE中,可以用`()`或`[]`获取集合类对象(如`...

    JavaScript实现弹出层的移动 兼容IE和Firefox

    在标题"JavaScript实现弹出层的移动 兼容IE和Firefox"中,我们可以看到主要涉及的是JavaScript动态改变HTML元素位置的技术,并且这个技术已经考虑到了浏览器兼容性问题,包括Internet Explorer(IE)和Mozilla Fire...

    table拖动(固定宽度,兼容Firefox 3.5IE6)

    在web中模拟窗口表格控件,可以用鼠标拖动改变表格列宽,兼容Firefox 3.5和IE6浏览器。和之前的一个不同的是这个是固定了table的宽度。 相应函数修改为一下后可适应tabel的border属性取不同值: o.p_p_c_gw=...

    火狐IE兼容的浮动广告

    "火狐IE兼容的浮动广告"这个主题直指一个常见的问题:如何让网页元素在Firefox(火狐)和Internet Explorer(IE)这两款不同的浏览器上表现一致。浮动广告是网页中常见的一种营销手段,它通常位于页面的侧边或者顶部...

    原生javascript自定义滚动条(兼容IE,火狐,chrom)

    本篇文章将深入探讨如何使用JavaScript实现自定义滚动条,并确保其在Internet Explorer(IE)、Firefox和Chrome等主流浏览器中的兼容性。 首先,我们需要理解不同浏览器对滚动条的支持情况。在CSS中,Webkit内核的...

    网页模式对话框效果,兼容IE6,7,8,firefox

    在创建兼容IE6、7、8以及Firefox等主流浏览器的网页模式对话框时,开发者需要考虑不同浏览器之间的差异和兼容性问题。 首先,让我们了解一些基本概念。在HTML中,最原始的对话框是`&lt;dialog&gt;`元素,但这个元素在旧版...

    网页漂浮代码,兼容IE ,firefox

    在本案例中,提供的“漂浮代码”已经过优化,兼容Internet Explorer(IE)和Firefox,这两款浏览器在过去的互联网环境中占据了重要地位,尤其是IE,尽管现在已被Edge取代,但在某些场合仍有用户在使用。 要实现跨...

Global site tag (gtag.js) - Google Analytics