>  기사  >  웹 프론트엔드  >  Node.js는 페이지를 반환할 수 없는 시기를 결정하고 웹페이지를 닫습니다. 그렇지 않으면 History.go(-1)_javascript 기술

Node.js는 페이지를 반환할 수 없는 시기를 결정하고 웹페이지를 닫습니다. 그렇지 않으면 History.go(-1)_javascript 기술

WBOY
WBOY원래의
2016-05-16 16:40:071726검색

웹 프로젝트 작업을 하다가 페이지에 이전 기록이 없는 경우(현재 새로 팝업된 페이지이고 goback 작업을 할 수 없는 경우, 즉,history.go(-1)) , 돌아가기 버튼을 직접 클릭하세요. 페이지를 닫고, 그렇지 않으면 이전 페이지로 돌아갑니다.

롤백할 수 있는 히스토리가 있는지 어떻게 판단해야 하는지 문제가 발생하는데, 이를 직접 얻을 수 있는 함수가 없기 때문에 매우 번거롭습니다. 그러나 IE와 non의 경우 IE의 길이 반환 값이 다릅니다. 즉,history.length=0이고 non-IE의 길이는 1이므로 이전에 필요한 기능을 구현하는 함수를 작성했습니다. 모든 사람과 공유하세요.

/** 
* 返回前一页(或关闭本页面) 
* <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 ); 
} 
} 
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.