웹 프로젝트를 수행 할 때 요구 사항이 발생했습니다. 페이지에 이전 기록이 없으면 (즉, 페이지가 새로 팝업되어 있고, 우리는 goback 조작, 즉 histor.go (-1))를 수행 할 수 없음을 클릭 할 때 페이지를 직접 닫습니다. 그렇지 않으면 이전 페이지로 돌아갑니다.
발생하는 문제는 역사가 뒤로 물러날 수 있는지 판단하는 방법입니다. 직접 얻을 수있는 기능이 없기 때문에 이것은 매우 번거 롭습니다. 이는 히스토리를 통해서만 처리 할 수 있습니다. 그러나 IE의 경우 길이의 반환 값은 비이의 반환 값과 다릅니다. IE : history.length = 0, nonie는 1이므로 이전에 필요한 기능을 구현하기 위해 함수가 작성되었습니다. 모두와 공유하십시오.
/** * 이전 페이지로 돌아 가기 (또는이 페이지를 닫습니다) * <li> 이전 페이지에 기록이없는 경우 현재 페이지를 직접 닫으 </li> */function goback () {if ((navigator.useragent.indexof ( 'msie')> = 0) && (navigator.useragent.indexof ( 'Opera') <0) {// ie if if if if. Window.history.go (-1); } else {window.opener = null; window.close (); }} else {// nonie browser if (navigator.useragent.indexof ( 'firefox')> = 0 || navigator.useragent.indexof ( 'opera')> = 0 || navigator.useragent.indexof ( 'safari')> = 0 || navigator.useragent.indexof ( 'chrome'). navigator.useragent.indexof ( 'webkit')> = 0) {if (window.history.length> 1) {window.history.go (-1); } else {window.opener = null; window.close (); }} else {// 알 수없는 브라우저 창 .history.go (-1); }}}