웹 프로젝트 작업을 하다가 페이지에 이전 기록이 없는 경우(현재 새로 팝업된 페이지이고 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 ); } } }