Heim  >  Artikel  >  Web-Frontend  >  js bestimmt, wann die Seite nicht zurückgegeben werden kann und schließt die Webseite, andernfalls History.go(-1)_javascript skills

js bestimmt, wann die Seite nicht zurückgegeben werden kann und schließt die Webseite, andernfalls History.go(-1)_javascript skills

WBOY
WBOYOriginal
2016-05-16 16:40:071765Durchsuche

Ich bin bei der Arbeit an einem Webprojekt auf eine Anforderung gestoßen, wenn die Seite keinen vorherigen Verlaufseintrag hat (es ist derzeit eine neu geöffnete Seite und kann den Goback-Vorgang nicht ausführen, d. h. „history.go(-1)“). Klicken Sie direkt auf die Schaltfläche „Zurück“, um die Seite zu schließen, andernfalls kehren Sie zur vorherigen Seite zurück.

Das aufgetretene Problem besteht darin, zu beurteilen, ob ein Verlauf zurückgesetzt werden kann. Dies ist sehr problematisch, da es keine solche Funktion gibt, die direkt abgerufen werden kann. Die einzige Möglichkeit, dies zu tun, ist die Variable „history.length“. Für IE und Nicht-IE ist der Rückgabewert jedoch unterschiedlich, dh: History.length = 0, und die Länge von Nicht-IE ist 1, daher habe ich eine Funktion geschrieben, um die zuvor erforderliche Funktion zu implementieren. Teilen Sie es mit allen.

/** 
* 返回前一页(或关闭本页面) 
* <li>如果没有前一页历史,则直接关闭当前页面</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 ); 
} 
} 
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn