2015년 9월 29일 화요일

[JavaScript] 브라우져 객체 모델(BOM, Browser Object Model) - location 객체

브라우져 객체 모델을 구성하는 객체중 하나인 location 객체, location 객체는 현재 윈도우에 로드된 웹문서에 대한 정보를 제공한다. location 객체는 window.location, 또는 document.location으로 접근 가능하다. location 객체는 JavaScript 에서 유일무희하게 현재 웹페이지의 url에 접근 가능한 객체이다. location 객체의 property 들은 아래와 같다.

Property설명예) "http://muckycode.blogspot.kr/2015/05/javascript-prototype.html#tableContent" 기준
hashurl hash, # 문자가 없을경우에는 """#tableContent"
hostserver 이름과 port"muckycode.blogspot.kr"
hostnameserver 이름"muckycode.blogspot.kr"
href전체 url"http://muckycode.blogspot.kr/2015/05/javascript-prototype.html#tableContent"
pathname현재 url의 directory "/2015/05/javascript-prototype.html"
portport 넘버""
protocol프로토콜http:
search현재 url의 query string, ?로 시작하는 문자열""

location 객체를 이용해 url 조작하기

브라우져의 현재 위치는 다양한 방법에 의해 조작될 수 있다. 가장 쉬운 방법으로는 location객체의 assign 메소드를 이용하는것이다.


location.assign("http://google.com");
위 코드는 현재 페이지를 http://google.com 으로 리디렉트 한다.

또 다른 방법으로는 location.href 프로퍼티나 location 객체에 새로운 String 값을 어싸인 하는 법이 있다.


window.location = "http://google.com";
location.href = "http://google.com";

웹페이지 새로고침

location.reload 메소드를 이용하면 웹페이지를 리로딩 할 수 있다. reload 메소드는 별다른 argument를 필요로 하지 않으나, 경우에 따라 true 값을 전달하지 않을 시에 브라우져 캐시를 이용하여 페이지를 다시 로딩할 수도 있다.
만약 true 값을 argument로 전달한다면, 해당 웹페이지는 서버를 통해 reload 된다.


location.reload();//브라우져에 따라 cache를 통해 reload 할 수도 있다.
location.reload(true);//sever에 다시 연결새 reload 한다. 

댓글 없음:

댓글 쓰기