본문 바로가기

웹언어/JAVASCRIPT

[JS강좌] 15강 BOM - location객체 - 오쌤의 니가스터디

728x90
반응형

 

 

 

 

 

 

 

 

** 영상으로 보실분은 아래 주소를 클릭해주세요.

https://youtu.be/18ADEealDSA

 

 

 

 

 

* 객체의 큰 부분

 

종류 설명
기본내장객체 기본적인 객체들로 보통 컴퓨터 언어들은 갖고 있는 객체
BOM(Browser Object Model) 브라우저오브젝트 모델, 브라우저 관련 객체
DOM(Document Object Model) 문서객체모델, 태그나 컨텐츠 등을 의미하는 객체
사용자정의객체 개발자가 직접적으로 생성하는 새로운 객체

 

 

 

 

 

 

* BOM객체

종류 설명
window 브라우저 창 객체, BOM의 최상위 객체
location 주소표시줄 객체
screen 운영체제 화면 객체
history 방문기록 객체
navigator 브라우저정보 객체
document 문서객체 - body태그부분을 의미

- BOM은 전부 소문자로 쓰는 것이 규칙입니다.

- DOM은 BOM의 일부이나 매우 중요하기 때문에 따로 나눠서 봅니다.

 

그림으로 보면 이런 형식입니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. location 객체의 속성

- location은 브라우저의 주소표시줄을 의미하는 객체입니다.

 

 

 

1) location 속성의 종류

- 모든 객체는 속성과 메서드를 갖고 있습니다.

- 물론 경우에 따라 속성만 갖고 있을수도, 메서드만 갖고 있을수도 있습니다.

속성 종류 설명
hash hash속성은 url의 해시기호(#)를 포함하여 주소를 설정하거나 반환하는 속성
host host속성은 url의 호스트명과 포트를 설정하거나 반환하는 속성
hostname hostname속성은 url의 호스트명을 설정하거나 반환하는 속성
href href속성은 현재 페이지의 전체 url를 설정하거나 반환하는 속성
origin origin속성은 url의 프로토콜, 호스트명, 포트번호를 반환하는 속성
pathname pathname속성은 url의 경로이름을 설정하거나 반환하는 속성
port port속성은 서버가 url에 사용하는 포트번호를 설정하거나 반환하는 속성
protocol protocol속성은 콜론을 포함하여 현재 url의 프로토콜을 설정하거나 반환하는 속성
search search속성은 ?(물음표)를 포함하여 url의 쿼리 문자열을 설정하거나 반환하는 속성

 

 

 

 

 

 

 

 

 

 

2) href속성

- href : 현재 페이지의 전체 url을 설정하거나 반환하는 속성

 

 

## 문제

- 3초뒤에 [https://ossam5.tistory.com/]로 페이지주소를 변환시키시오.

 

 

## 코드 예시

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS BOM - location객체</title>
        <script>
            //href : 현재 페이지의 전체 url을 설정하거나 반환하는 속성

            setTimeout(function(){
                location.href = 'https://ossam5.tistory.com/';
            },3000);
        </script>
    </head>
    <body>
        
    </body>
</html>

- setTimeout() 함수를 통해 콜백함수의 명령을 3초뒤에 한번 일어나도록 명령을 처리했습니다.

 

 

 

## 코드 결과

비어있던 문서가 오쌤의 니가스터디 블로그로 가는 것 보이시죠??

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. location 객체의 메서드

- location은 브라우저의 주소표시줄을 의미하는 객체입니다.

 

 

 

1) location 메서드의 종류

- 모든 객체는 속성과 메서드를 갖고 있습니다.

- 물론 경우에 따라 속성만 갖고 있을수도, 메서드만 갖고 있을수도 있습니다.

메서드 종류 설명
assign(url) 주소표시줄의 주소를 매개변수의 url주소로 변경하는 메서드
현재 문서 기록에서 url이 남아 [뒤로가기]버튼을 사용하여 원래 페이지로 돌아갈수 있습니다. 
최근 크롬에서는 안되는 이슈가 있습니다.
replace(url) 주소표시줄의 주소를 매개변수의 url주소로 변경하는 메서드
현재 문서 기록에서 url을 제거하여 [뒤로가기]버튼을 눌러 원래 페이지로 돌아갈수 없습니다.
reload() 주소표시줄을 새로고침하는 메서드

 

 

 

 

 

 

 

 

 

2) assign()메서드

- 주소표시줄의 주소를 매개변수 url주소로 변경하는 메서드입니다.

 

## 문제

- 3초뒤에 [https://ossam5.tistory.com/]로 페이지주소를 변환시키시오.

 

 

## 코드 예시

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS BOM - location객체</title>
        <script>
            //href : 현재 페이지의 전체 url을 설정하거나 반환하는 속성

            setTimeout(function(){
                location.assign('https://ossam5.tistory.com/');
            },3000);
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

 

## 코드 결과

 

 

 

 

 

 

 

 

 

 

 

 

3) reload()메서드

- 주소표시줄을 새로고침하는 메서드입니다.

 

## 문제

- 1초마다 [n초가 지났습니다]라는 문구를 body출력하시오.
 //단, 10초후에 새로고침하시오.

 

 

## 코드 예시

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS BOM - location객체</title>
        <script>
            var num = 1; //초기값 지정

            setInterval(function(){
                document.write('<h3>' + num + '초가 지났습니다</h3>');

                num++; //1씩증가
            },1000);


            setTimeout(function(){
                location.reload(); //새로고침
            },10001);
        </script>
    </head>
    <body>
        
    </body>
</html>

- setInterval함수를 통해 [n초가 지났습니다.]라는 문구를 계속 추가합니다.

- 10초가 지난뒤 setTimeout함수를 통해 새로고침을 해줍니다.

 

 

 

## 코드 결과

- 10초가 지났습니다.가 나온 뒤 새로고침하는 것을 확인할 수 있습니다. 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형