色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 窗體關(guān)閉

吉茹定1年前7瀏覽0評論
今天我們要來談?wù)撘幌玛P(guān)于JavaScript中窗體關(guān)閉的方法。說起來可能大家都會覺得很簡單,不就是window.close()嗎?但我們要注意的是,這種方法不是所有情況下都可以成功地關(guān)閉窗口,因?yàn)橛袝r候?yàn)g覽器會攔截該方法的執(zhí)行,從而導(dǎo)致窗口沒有被關(guān)閉。接下來,我將結(jié)合具體的實(shí)例來講解JavaScript中不同方式關(guān)閉窗口的優(yōu)缺點(diǎn)。 先看最常見的window.close()方法。在不涉及到關(guān)閉跨域窗口時,這種方法功能是OK的。我們在開發(fā)中經(jīng)常會用到彈出窗口、定時彈窗等,這時關(guān)閉窗口也是必不可少的。例如:
當(dāng)然,有些需要跨域訪問的權(quán)限問題,就需要另外的方法了。 下面,我們來介紹一個“時間調(diào)用”方式來關(guān)閉窗口。例如我們希望在一定時間后自動關(guān)閉當(dāng)前頁,可以使用setTimeout()方法,設(shè)置延遲調(diào)用關(guān)閉方法,代碼如下:
setTimeout(function(){
window.opener=null;
window.open('','_self');
window.close();
},1000)//毫秒計(jì)數(shù)
需要注意的是,該方式同樣也是存在局限性的,而且還很容易被瀏覽器攔截,因此應(yīng)該盡量避免使用。 接下來,我們來介紹一種比較保險的關(guān)閉窗口方法,這種方法的原理是先使窗口獲取焦點(diǎn),在關(guān)閉窗口。代碼如下:
function closeWin(){
if (navigator.userAgent.indexOf("MSIE") >0) {// 判斷是否為ie
if (navigator.userAgent.indexOf("MSIE 6.0") >0) {
window.opener = null;
window.close();
} else {
window.open('', '_top');
window.top.close();
}
} else if (navigator.userAgent.indexOf("Firefox") >0) {// 判斷是否為火狐瀏覽器
window.parent.opener = null;
window.parent.open('', '_self', '');
window.parent.close();
} else if (navigator.userAgent.indexOf("Chrome") >0) {//判斷是否谷歌瀏覽器
window.opener = null;
window.open('', '_self', '');
window.close();
} else {//其他瀏覽器
window.opener = null;
window.open('about:blank', '_self').close();
}
}
運(yùn)用這種方法,我們可以輕松地關(guān)閉絕大多數(shù)瀏覽器窗口。 除此之外,我們還可以通過把需要關(guān)閉窗口的根節(jié)點(diǎn)的innerHTML清空來達(dá)到關(guān)閉窗口的效果。例如:
function closeWin(){
window.document.documentElement.innerHTML = '';
}
但是需要說明的是,這種效果只對當(dāng)前窗口有效,無法涉及到其他窗口運(yùn)行。 綜上所述,我們在開發(fā)中可以采用不同的方式進(jìn)行窗口關(guān)閉操作,但需根據(jù)實(shí)際使用場景進(jìn)行選擇。