location 객체

개발/실전 2014. 3. 11. 10:14

location 객체는 현재 문서의 URL에 관한 정보를 갖고 있다. 프레임이 사용된 경우에는 최상위 프레임 문서의 URL만 참조할 수 있고, 하위 프레임의 문서들은 Frames객체를 이용한다. location객체는 window의 하위 객체 이지만 window객체를 생략 할 수 있다.

 

기본형태

[windows].location.속성 혹은 메소드

[windows].loaction.속성=지정값

 

location 객체의 속성

href - URL을 지정하여 지정한 페이지로 이동하거나 페이지의 URL 전체 정보를 반환

protocol - 0 ':'를 포함하는 http나 ftp 등의 프로토콜 정보를 반환

hostname - 호스트 이름과 포트 번호 반환

pathname - URL에서 경로부분의 정보를 반환

port - 8080과 같은 포트번호를 반환

search - ?이후의 문자열을 반환

hash - 지정한 앵커를 설정한 곳으로 이동하거나 앵커이름을 반환

 

location 객체의 메소드

reload() - 브라우저의 'Reload'버튼 처럼 현재 페이지를 새로 업데이트

replace() - 현재 URL을 지정한 URL로 바꾸고 이전 페이지로 돌아 갈 수 없게 한다

 

예제

현재 페이지의 URL의 바꾸기

<a href = "javascript:location.replace('http://대처할 URL')"> replace </a>

 

자바스크립트로 reload바꾸기

<a href = "javascript:location.reload()"> reload</a

==================================================================================================

자바스크립트에서 페이지 이동 시킬때 location.href를 많이 사용한다.

하지만 location.replace 메세드도 종종 이용하는데 두가지의 차이점은 아래와 같다.

표#1

 

location.href

location.replace 

 기능

새로운 페이지로 이동된다.

기존페이지를 새로운 페이지로 변경시킨다. 

 형태

속성 

메서드 

 주소 히스토리

기록된다 

기록되지 않는다.

 사용예

location.href='abc.php' 

location.replace('abc.php') 

 

location.href는 객체의 속성이며, loaction.replace()는 메서드(함수)로 작동된다.

href는 페이지를 이동하는 것이기 때문에 뒤로가기 버튼을 누른경우 이전 페이지로 이동이 가능하지만,

replace는 현재 페이지를 새로운 페이지로 덮어 씌우기 때문에 이전 페이지로 이동이 불가능하다.

 

href는 일반적인 페이지 이동시 이용을 하면 되고,

replace의 경우는 이전페이지로 접근이 필요없는경우 보안상 덮어씌우는 것도 괜찮을듯 하다.

'개발 > 실전' 카테고리의 다른 글

document.getElementById  (0) 2014.03.12
<% %>와 <script>차이 점 <%! 설명  (0) 2014.03.12
JOIN과 UNION  (0) 2014.03.11
doGet, doPost  (0) 2014.03.10
액션서블릿 흐름  (0) 2014.03.05