organize/자바스트립트

자바스크립트 6

001cloudid 2024. 12. 31. 14:24
728x90

BOM

  • 자바스크립트 내에 웹 브라우저와 관련된 여러 객체가 미리 정의되어 있기 때문에 특정한 사이트로 이동, 새 탭 열기 등 브라우저와 관련된 여러 가지 효과를 만들 수 있음
  • 웹 브라우저 창에 문서가 표시되는 순간 브라우저는 HTML 소스를 한 줄씩 읽으면서 화면에 내용을 표시하고 관련된 객체를 만들어냄
  • 웹 브라우저가 열리면 window 객체가 만들어지고 밑으로 하위 요소에 해당하는 객체들이 나타남
    window 하위에는 document, navigator, history, location, screen 객체가 존재
  • window : 브라우저 창이 열릴 때마다 하나씩 만들어짐. 브라우저 창 안의 요소 중에서 최상위에 존재
  • document : 웹 문서마다 하나씩 있으며 body 태그를 만나면 만들어짐. HTML 문서의 정보가 담겨 있음
  • navigator : 현재 사용하는 브라우저의 정보가 들어있음
  • history : 현재 창에서 사용자의 방문 기록을 저장
  • location : 현재 페이지의 URL 정보가 담여있음
  • screen : 현재 사용하는 화면 정보를 다룸

window 객체의 프로퍼티

  • window 객체는 웹 브라우저의 상태를 제어하며 자바스크립트의 최상위에 존재, 자바스크립트의 모든 객체는 window 객체 안에 포함
  • window 객체의 프로퍼티는 주로 웹 브라우저 창의 정보를 가져오거나 값을 바꿀 때 사용
  • 프러퍼티를 사용하려면 프로퍼티 이름 앞에 'window.'를 붙임
    document : 브라우저 창에 표시된 웹 문서에 접근
    frameElement : 현재 창이 다른 요소 안에 포함되어 있을 경우 그 요소를 반환하고, 그렇지 않다면 null을 반환
    innerHeight : 내용 영역의 높이
    innerWidth : 내부 영역의 너비
    localStorage : 웹 브라우저에서 데이터를 저장하는 로컬 스토리지를 반환
    location : window 객체의 위치 또는 현재 URL을 나타냄
    name : 브라우저 창의 이름을 가져오거나 수정
    ,....

window 객체의 메서드

  • 웹 브라우저 창 자체와 관련
  • alert()나 prompt()는 windwo 객체의 메서드임. 원래는 window.alert()나 window.prompt()라고 해야하지만 window 객체는 기본 객체이므로 'window.'을 생략해도 사용할 수 있음
  • window 객체 메서드
    alert() : 알림창
    blur() 현재 창에서 포커스를 제거
    close() : 현재 창 닫기
    confirm() : 확인, 취소 버튼이 있는 확인 창을 표시
    focus() : 현재 창에 포커스를 부여
    open() : 새로운 창
    ,....
  • 새 브라우저 창을 여는 open()
    window.open(경로, 창이름, 창옵션)
    경로 : 팝업 창에 표시할 문서나 사이트의 경로(주소)를 나타냄
    창 이름 : 창 이름을 지정하지 않으면 팝업 창이 계속 새로 나타남
    창 옵션 : left, top 속성을 사용해 위치를 정하거나 너비, 높이 속성을 사용해 크기를 지정할 수 있음. 지정하지 않으면 맨 왼쪽 위에 나타남
    <script>
        window.open("popup.html", "팝업창", "width=500, height=400");
    </script>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>popup.html</title>
</head>
<body>
    <h1>
        문서를 열면 팝업 창이 자동으로 열립니다.
    </h1>
</body>
</html>

※ 최근 웹 브라우저의 팝업 창이 열리지 않도록 하는 것을 기본으로 설정되어 있는 경우가 있음 팝업 창을 여는 함수에서 웹 브라우저의 차단 여부를 확인해 줄 필요가 있음

    <script>
        // 팝업이 차단된 브라우저의 알림 창 표시
        function openPopup(){
            var popup = window.open("popup.html", "팝업창", "width=500, height=400");
            if(popup == null){
                alert("팝업이 차단되어 있습니다. 팝업을 허용해주세요.");
            }
            popup.moveBy(100,100);
        }
    </script>
  • 브라우저 창을 닫는 close()
    일반적으로 팝업 창 내용을 모두 살펴본 후 창을 닫을 수 있도록 화면 아래 [닫기] 버튼이나 링크를 포함
    window.close()
<button onclick="javascript:window.close();">닫기</button>

navigator 객체

  • 웹 브라우저 버전을 비롯해 플로그인 설치 정보나 온, 오프라인 등의 여러 정보가 담겨 있음
  • 사용을 해본 적이 없지만 이를 잘 활용하면 사용자 환경에 맞는 기능을 제공할 수 있을 것 같음
    주로 프론트 엔드 개발에 활용도가 높을 것으로 보임
  • https://developer.mozilla.org/ko/docs/Web/API/Navigator 

history 객체

  • 방문한 사이트 주소가 배열 형태로 저장
  • 브라우저 히스토리는 보안 문제로 읽기 전용
  • 프로퍼티
    length : 방문한 사이트 개수
  • 메서드
    back() : history 목록에서 이전 페이지를 현재 화면으로 불러옴
    forward() : history 목록에서 다음 페이지를 현재 화면으로 불러옴
    go() : 현재 페이지를 기준으로 상대적인 위치에 있는 페이지를 현재 화면으로 불러옴
    back() == go(-1) / forward() == go(1)

location 객체

  • 브라우저의 주소 표시줄과 관련
  • 현재 문서의 URL 주소 정보가 들어 있는데 이 정보를 편집하면 현재 브라우저 창에서 열어야 할 사이트나 문서를 지정
  • 프로퍼티
    host : URL의 호스트 이름과 포트 번호를 담고 있음
    href : 전체 URL. 이 값을 변경하면 해당 주소로 이동
    ,...
  • 메서드
    reload() : 현재 문서를 다시 불러옴
    replace() : 현재 문서의 URL을 지우고 다른 URL의 문서로 교체
    toString() : 현재 문서의 URL을 문자열로 반환
    <div id="display">
        <script>
            // 사이트 위치 고정하기
            document.write("<b>location.href</b> : " + location.href+" <br> ");
            document.write("<b>location.host</b> : " + location.host+" <br> ");
            document.write("<b>location.protocol</b> : " + location.protocol+" <br> ");
        </script>
    </div>

    <button onclick="location.replace(`https://001cloudid.tistory.com/category/organize/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%8A%B8%EB%A6%BD%ED%8A%B8`)">블로그 이동하기</button>

 


screen 객체

  • 사용자의 화면 크기나 정보를 알아 낼 때 사용
  • 프로퍼티
    availHegiht
    availWidth
    colorDepth : 화면에서 픽셀을 렌더링 할 때 사용하는 색상 수
    height
    orientation : 화면의 현재 방향
    pixelDepth : 화면에서 픽셀을 렌더링할 때 사용하는 비트 수
    width
  • 메서드
    lockOrientation() : 화면 방향을 잠금
    unlockOrientation() : 화면 방향 잠금을 해제
    <script>
        // screen 객체로 화면의 너비와 높이 알아내기
        document.write("<b>screen.availHeight</b>"+screen.availHeight+"<br>");
        document.write("<b>screen.availWidth</b>"+screen.availWidth+"<br>");
        document.write("<b>screen.height</b>"+screen.height+"<br>");
        document.write("<b>screen.width</b>"+screen.width+"<br>");
    </script>

728x90

'organize > 자바스트립트' 카테고리의 다른 글

자바스크립트 7  (0) 2025.01.01
자바스크립트 5  (0) 2024.12.30
자바스크립트 4  (0) 2024.12.29
자바스크립트 3  (1) 2024.12.28
자바스크립트 2  (2) 2024.12.27