js判斷當(dāng)頁(yè)面無(wú)法回退時(shí)關(guān)閉網(wǎng)頁(yè)否則就history.go(-1)
在做一個(gè)Web項(xiàng)目時(shí)遇到一個(gè)需求,當(dāng)頁(yè)面沒有前驅(qū)歷史記錄時(shí)(就是當(dāng)前為新彈出的頁(yè)面,沒法做goback操作即history.go(-1)),點(diǎn)擊返回按鈕時(shí)直接關(guān)閉頁(yè)面,否則就退回到前一頁(yè)。
遇到的問(wèn)題就是如何判斷 是否有history可以回退,這個(gè)非常麻煩,因?yàn)闆]有這樣的函數(shù)直接能獲取到,只能通過(guò)history.length這個(gè)變量做變通的處理,但是對(duì)于IE,和非IE的length的返回值不同,ie: history.length=0, 非IE的為1,因此寫了一個(gè)函數(shù)實(shí)現(xiàn)前面所需求的這個(gè)功能。分享給大家。
/**
* 返回前一頁(yè)(或關(guān)閉本頁(yè)面)
* <li>如果沒有前一頁(yè)歷史,則直接關(guān)閉當(dāng)前頁(yè)面</li>
*/
function goBack(){
if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)){ // IE
if(history.length > 0){
window.history.go( -1 );
}else{
window.opener=null;window.close();
}
}else{ //非IE瀏覽器
if (navigator.userAgent.indexOf('Firefox') >= 0 ||
navigator.userAgent.indexOf('Opera') >= 0 ||
navigator.userAgent.indexOf('Safari') >= 0 ||
navigator.userAgent.indexOf('Chrome') >= 0 ||
navigator.userAgent.indexOf('WebKit') >= 0){
if(window.history.length > 1){
window.history.go( -1 );
}else{
window.opener=null;window.close();
}
}else{ //未知的瀏覽器
window.history.go( -1 );
}
}
}
相關(guān)文章
js keycode快捷鍵大全 并附有簡(jiǎn)單使用說(shuō)明
js keycode快捷鍵大全 并附有簡(jiǎn)單使用說(shuō)明,方便大家使用。2010-10-10
微信小程序使用百度AI識(shí)別接口的通用封裝Promise詳解
這篇文章主要介紹了微信小程序使用百度AI識(shí)別接口的通用封裝Promise,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
JavaScript prototype對(duì)象的屬性說(shuō)明
JavaScript中對(duì)象的prototype屬性,是用來(lái)返回對(duì)象類型原型的引用的。我們使用prototype屬性提供對(duì)象的類的一組基本功能。并且對(duì)象的新實(shí)例會(huì)”繼承”賦予該對(duì)象原型的操作。但是這個(gè)prototype到底是怎么實(shí)現(xiàn)和被管理的呢?2010-03-03
javascript實(shí)現(xiàn)文字無(wú)縫滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)文字無(wú)縫滾動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
解決html input驗(yàn)證只能輸入數(shù)字,不能輸入其他的問(wèn)題
下面小編就為大家?guī)?lái)一篇解決html input驗(yàn)證只能輸入數(shù)字,不能輸入其他的問(wèn)題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
js簡(jiǎn)單實(shí)現(xiàn)點(diǎn)擊左右運(yùn)動(dòng)的方法
這篇文章主要介紹了js簡(jiǎn)單實(shí)現(xiàn)點(diǎn)擊左右運(yùn)動(dòng)的方法,實(shí)例分析了javascript實(shí)現(xiàn)左右運(yùn)動(dòng)的相關(guān)要點(diǎn)與技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
JavaScript實(shí)現(xiàn)動(dòng)畫打開半透明提示層的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)動(dòng)畫打開半透明提示層的方法,涉及javascript操作DOM的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04

