js判斷當(dāng)頁面無法回退時關(guān)閉網(wǎng)頁否則就history.go(-1)
在做一個Web項(xiàng)目時遇到一個需求,當(dāng)頁面沒有前驅(qū)歷史記錄時(就是當(dāng)前為新彈出的頁面,沒法做goback操作即history.go(-1)),點(diǎn)擊返回按鈕時直接關(guān)閉頁面,否則就退回到前一頁。
遇到的問題就是如何判斷 是否有history可以回退,這個非常麻煩,因?yàn)闆]有這樣的函數(shù)直接能獲取到,只能通過history.length這個變量做變通的處理,但是對于IE,和非IE的length的返回值不同,ie: history.length=0, 非IE的為1,因此寫了一個函數(shù)實(shí)現(xiàn)前面所需求的這個功能。分享給大家。
/**
* 返回前一頁(或關(guān)閉本頁面)
* <li>如果沒有前一頁歷史,則直接關(guān)閉當(dāng)前頁面</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實(shí)現(xiàn)文字無縫滾動效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)文字無縫滾動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
解決html input驗(yàn)證只能輸入數(shù)字,不能輸入其他的問題
下面小編就為大家?guī)硪黄鉀Qhtml input驗(yàn)證只能輸入數(shù)字,不能輸入其他的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
js簡單實(shí)現(xiàn)點(diǎn)擊左右運(yùn)動的方法
這篇文章主要介紹了js簡單實(shí)現(xiàn)點(diǎn)擊左右運(yùn)動的方法,實(shí)例分析了javascript實(shí)現(xiàn)左右運(yùn)動的相關(guān)要點(diǎn)與技巧,非常具有實(shí)用價值,需要的朋友可以參考下2015-04-04
JavaScript實(shí)現(xiàn)動畫打開半透明提示層的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)動畫打開半透明提示層的方法,涉及javascript操作DOM的相關(guān)技巧,非常具有實(shí)用價值,需要的朋友可以參考下2015-04-04

