이 블로그 검색

2011년 10월 19일 수요일

history


프레임 페이지에서 NN의 history.back(), history.go(-1)go to link



프레임 페이지에서 NN의 history.back(), history.go(-1)는 BUG가 있습니다. nn4까지 이 bug가 있습니다.
어떤 페이지에서 연결한 문서에 history.back(), history.go(-1) 로 전의 페이지로 돌아가면 문제가 없습니다. 하지만, 전의 페이지에서 두 페이지 이상을 링크로 다른 문서를 연결했는데, 두 문서 모두 history.back(), history.go(-1) 을 지정하여 놓았다면 history가 엉키게 됩니다. 브라우저의 BACK 단추를 여러번 눌러야 원래의 페이지로 갈 수 있습니다.
history.back(), history.go(-1)을 사용한 페이지를 한 페이지만 연결을 하면 되지만 두 페이지 이상 연결을 했다면 연결한 페이지에서는 BACK 링크를 history.back(), history.go(-1)로 사용하지 말고 직접 자신의 문서를 불러온 페이지를 지정하면 되겠지만, 연결된 문서가 자신을 부른 페이지에서만 사용하는 것이 아니고 다른 페이지에서도 사용을 한다면 직접 열결을 하는것은 사용자가 잘못된 문서로 돌아갈 수 있습니다. 브라우저의 BACK 단추로는 이 문제가 없습니다. 이 문제를 해결할 수 있는 방법은 document.referrer 입니다. 자신을 부른 문서의 페이지를 가리키는 것입니다.
<a href="#" onClick="self.location.href=document.referrer">BACK</a>
이 링크를 가지고 있는 페이지가 두 곳이어도 자신을 부른 페이지로 돌아갈 수 있습니다.

댓글 없음:

댓글 쓰기