用javascript關閉本視窗技巧小結,javascript技巧

來源:互聯網
上載者:User

用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() 等
}
}
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.