(C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\)
에 캐쉬가 있는지를 먼저 보고, 있으면 그걸 보여준다.
그래서 가끔 우린 사이트내용이 바뀌었는데도, 로컬에 있는 파일을 보는 경우가 있다.
location.href로 주소이동을 했을떄 이와 같은 일이 일어난다.
(b)[뒤로]버튼을 누르면 이전 URL로 이동.
[뒤로]버튼이 정상장동되는것은 History객체에 배열처럼 이전 URL들이 기록되어있기때문이다.
우리가 [뒤로]버튼을 누르는건 History객체를 역순으로 되집어 가는 과정이다. ( history.back()이 그 일을 한다. )
location.href를 쓰면 [뒤로]버튼도 history.back()도 직접URL바꿨을때와 똑같이 작동한다.
그럼 location.replace()는 뭐가 다를까?
location.repalce()는 다음과 같이 작동한다.
1. location.replace()는 (a)의 경우 '인터넷 임시파일'을 쓰지 않는다. 매소드가 실행될때마다 매번 서버에 접속해서 페이지를 가져온다. 게시판 리스트같은 곳을 이동할때 location.href를 쓰면 새 글이 올라온것을 모르고 '로컬에 있는 파일'만 보는 일이 생길 수 있는데, location.replace()를 쓰면 이를 방지할 수 있다.
2. location.replace()은 새 페이지로 이동하는게 아니라 현재페이지를 바꿔주는 거다.
말장난 같아도 이거 중요한거다.. 왜중요한고하니...
(b)의 경우, History객체에 새로운 URL를 기록하는게 아니라 현재 페이지값을 바꾼다.
그러므로 location.replace()로 이동하고 [뒤로]버튼을 누르면 이전페이지가 아니라 이전,이전페이지가 뜬다. 이해가 안된다고?
A --> B --> C 처럼 페이지가 이동을 했다하자. (현재 당신은 C사이트에...)
B --> C로 이동할때location.href를 썼다면
C페이지트에서 [뒤로]버튼을 누르면 B가뜬다.
하지만..
B --> C로 이동할때location.replace()를 썼다면
C페이지에서 [뒤로]버튼을 누르면 A가뜬다.
그럼 사용자입장에선 '어 내가 클릭을 두번했나?' 하게 된다...
이런 차이로 인하여 적절히 써야 한다.
[뒤로]버튼을 눌렀을때 두페이지 이전으로 넘어가면 안되는 경우가 있는 반면,(.href를 써야겠지..)
프레임을 쓴 사이트 의 경우는 [뒤로]버튼 한두번 클릭으로 사이트를 빠져나가게 할 수도 있다. (.repalce()를 쓴경우...)
이 글의 관련글(트랙백) 주소 :: http://blog.wowpc.net/trackback/261
Tracked from Cheap cialis. 2008/10/27 23:23 x
제목 : Cialis.
Generic cialis. Buy cialis online. Cialis in las vegas. Cialis best price buy online. Cialis.