js判斷當(dāng)頁(yè)面無(wú)法回退時(shí)關(guān)閉網(wǎng)頁(yè)否則就history.go(-1)
在做一個(gè)Web項(xiàng)目時(shí)遇到一個(gè)需求,當(dāng)頁(yè)面沒(méi)有前驅(qū)歷史記錄時(shí)(就是當(dāng)前為新彈出的頁(yè)面,沒(méi)法做goback操作即history.go(-1)),點(diǎn)擊返回按鈕時(shí)直接關(guān)閉頁(yè)面,否則就退回到前一頁(yè)。
遇到的問(wèn)題就是如何判斷 是否有history可以回退,這個(gè)非常麻煩,因?yàn)闆](méi)有這樣的函數(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>如果沒(méi)有前一頁(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)文章
javascript常用方法、屬性集合及NodeList 和 HTMLCollection 的瀏覽器差異
對(duì)于 HTMLCollection集合對(duì)象 必須要說(shuō)一說(shuō)的是 namedItem方法. 看看規(guī)范的解釋.2010-12-12ElementPlus?Tag標(biāo)簽用法小結(jié)
這篇文章主要介紹了ElementPlus?Tag標(biāo)簽用法,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09Bootstrap table分頁(yè)問(wèn)題匯總
這篇文章主要為大家匯總了Bootstrap table分頁(yè)的典型問(wèn)題,以及對(duì)應(yīng)每個(gè)bootstrap table分頁(yè)問(wèn)題的解決方法,感興趣的小伙伴們可以參考一下2016-05-05JS實(shí)現(xiàn)文件動(dòng)態(tài)順序載入的方法
這篇文章主要介紹了JS實(shí)現(xiàn)文件動(dòng)態(tài)順序載入的方法,實(shí)例分析了基于Mootools框架實(shí)現(xiàn)動(dòng)態(tài)載入的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03驗(yàn)證控件與Button的OnClientClick事件詳細(xì)解析
以下就是被我已知忽略的問(wèn)題和解決方案,當(dāng)我發(fā)覺(jué)這個(gè)問(wèn)題的時(shí)候,冒出了一身冷汗,幸虧做了嚴(yán)格的服務(wù)器端驗(yàn)證,不然可就慘了2013-12-12