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="#" οnclick="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="#" οnclick="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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章