`
圣诞王子
  • 浏览: 84589 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

阅读更多

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

Html代码 复制代码
  1. <a href="javascript:self.close()">关闭窗口</a>    
<a href="javascript:self.close()">关闭窗口</a>  


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

Html代码 复制代码
  1. <a href="javascript:alert('Hello World')">弹出窗口</a>    
<a href="javascript:alert('Hello World')">弹出窗口</a>  


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

改成了如下代码

Html代码 复制代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"       
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">     
  3. <html xmlns="http://www.w3.org/1999/xhtml">     
  4. <head>     
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     
  6. <script type="text/javascript">     
  7. <!--      
  8. function windowClose(){      
  9. //self.close();      
  10. window.close();      
  11. }      
  12. //-->     
  13. </script>     
  14. <title>js测试</title>     
  15. </head>     
  16. <a href="javascript:self.close()">关闭窗口</a><br />     
  17. <a href="javascript:alert('Hello World')">弹出窗口</a><br />       
  18. <a href="#" onclick="windowClose()">js函数关闭窗口</a>     
  19. <body>     
  20. </body>     
  21. </html>    
<!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文件放在同一个文件夹下

Open.html代码 复制代码
  1. <script type="text/javascript">      
  2. <!--      
  3. function openWindow(){      
  4. window.open("new.html","newWindow","width=200,height=100,toolbar=no");      
  5. }      
  6. //-->      
  7. </script>      
  8. <a href="#" onclick="openWindow()">open函数打开新窗口</a><br />      
  9. <a href="new.html" target="_blank">超级链接在新窗口中打开新页面</a><br />      
  10. <a href="new.html" target="_parent">超级链接在父窗口中打开新页面</a>    
<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>  

 

New.html代码 复制代码
  1. <a href="javascript:window.close()">关闭窗口</a>      
  2. <a href="javascript:self.close()">关闭窗口</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打开的窗口时会弹出一个对话框询问用户。有时候我

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

Html代码 复制代码
  1. <script language="javascript" type="text/javascript">       
  2.      
  3. function closeWindow() {       
  4.      
  5. window.open('','_parent','');       
  6.      
  7. window.close();       
  8.      
  9. }       
  10.      
  11. </script>       
  12. <a href="javascript:closeWindow();">Close Window</a>    
<script language="javascript" type="text/javascript">    
  
function closeWindow() {    
  
window.open('','_parent','');    
  
window.close();    
  
}    
  
</script>    
<a href="javascript:closeWindow();">Close Window</a>  

     转载:http://wangyu.iteye.com/blog/490831

分享到:
评论

相关推荐

    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