用javascript關閉本視窗技巧小結,javascript技巧
大家都知道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下關閉了。
看到這些,如果讓客戶去設定的話,等於沒有做這個功能,所以說結果不是很滿意,不知道有沒有其他好的替代方法。
後記:利用開啟一個新視窗,然後關閉這個頁面就可以實現關閉當前頁面。謝謝strangebank。不過奇怪的是昨天我用ff2實驗的時候沒有成功,今天用3成功的。真是活見鬼了,今天在同事機子上用2做實驗,又可以了。不過一早解決問題還是不錯的哦。^_^
index.html
<a href="c.html" target="_blank">ddddddddd</a>
c.html
<a href="javascript:window.open('','_parent','');window.close();">Close Window</a>
JavaScript中關閉視窗
<html>
<head>
<title>我幫你改</title>
<script language="JavaScript" type="text/javascript">
function disptime(){
var time = new Date();
var hour = time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
document.getElementById("myclock").value = hour+":"+minute+":"+second;
if(hour=="08" && minute=="18" && second=="0"){
window.close();
}
//如果小時==08 並且 分鐘==18 並且 秒數==0 關閉視窗"注意零秒的時候"
setTimeout("disptime()",1000);
}
</script>
</head>
<body onLoad="disptime()">
<form name="myform">
<div align="center">
<input id="myclock" type="text" value="" size="15" />
</div>
<input type="button" value="按鈕" onClick="window.close()"/>
</form>
在規定時間關閉視窗,定時調用window.close()
</body>
</html>
經過測試無誤!
javascript 怎關閉視窗?
你這個是一個自訂DIV層 Popup 類, 不是 window 對象的任何方法,比如:
window.open()
window.createPopup()
window.showModelessDialog()
如果想關閉該自訂視窗,則查看一下DIV層的ID是什麼,然後設定這個DIV為隱藏狀態就行了。
比如DIV的ID是 div1
document.getElementById('div1').style.display='none';
如果樣式表中有 .hide{display:none;},則可以如下方法隱藏:
document.getElementById('div1').className='hide';
另外這個 Popup 執行個體既然含有 show() 方法,那麼肯定也應該含有 hide() 或 close() 方法,如果想關閉視窗,調用一下相關的隱藏方法就行了。
例如:
var g_pop=null;
function closePopup(){
if (g_pop!=null){
g_pop.hide(); //或者 g_pop.close(); 或者 g_pop.hidden() 等
}
}