這個(gè)太簡單了,window.close()就可以了;
不過它會(huì)出個(gè)提示“您查看的網(wǎng)頁正在試圖關(guān)閉窗口。是否關(guān)閉窗口?”,能不能不出這個(gè)提示?N年前就有人問過我,那時(shí)候我還是菜鳥,不過我的回答還算“專業(yè)”。呵呵;
“如果你第一次打開這個(gè)網(wǎng)頁,window.close()就會(huì)彈出提示,如果這個(gè)網(wǎng)頁是由其它的網(wǎng)頁window.open()出來的頁 面,window.close()時(shí),就不會(huì)出現(xiàn)提示;還有,當(dāng)chm幫助文檔中的頁面,在點(diǎn)擊關(guān)才,激活window.close()時(shí),也會(huì)不出提 示。”
上面的回答,是我當(dāng)時(shí)通過測試得出的結(jié)果。沒有進(jìn)行過“理論”分析,那個(gè)時(shí)候,對javascript還僅僅是會(huì)用一些簡單方法而已。
這個(gè)小問題,我也沒有當(dāng)回過事兒,前兩天,有朋友問到,我也是這樣回答,不過他說,見別人可以的,希望我能幫幫忙,我說,不太可能吧,不過忽然想起,opener語句;
window.opener語句,可以返回打開當(dāng)前頁面的那個(gè)網(wǎng)頁,就是在a.htm中,open()了b.htm頁面,那么,在b.htm頁面中,window.opener,就會(huì)返回a.htm。
如,我在b.html寫入
alert(window.opener.location.href);
就會(huì)彈出a.htm的完整路徑;
那么,當(dāng)我window.close()時(shí),它是不是能過opener來判斷當(dāng)前頁是不是被open的呢?試一下就知道嘍;
<script language="JavaScript" type="text/javascript">
function cl()
{
window.opener='';
window.close();
}
</script>
上面的方法就是當(dāng)前頁面的opener賦為空字符串(空字串可不是null,并不是為空),然后關(guān)閉當(dāng)前頁,隨便做個(gè)按鈕,來觸發(fā)這個(gè)方法;
<input type="submit" onclick="cl()" name="Submit" value="提交" />
果然,點(diǎn)擊即關(guān)閉了當(dāng)前窗口,且沒有提示;呵呵;
想到,可能會(huì)用在框架頁面,就是frame的子頁中,那么上面的代碼是不是應(yīng)該寫成
<script language="JavaScript" type="text/javascript">
function cl()
{
window.top.opener='';
window.top.close();
}
</script>
我沒有做測試,應(yīng)該可以的吧。
名稱: ?4C.ESL | .↗Evon
口號: 遇到新問題?先要尋找一個(gè)方案乄而不是創(chuàng)造一個(gè)方案こ
mail: 聯(lián)系我