1 분 소요

📌 1. location 객체 – 현재 URL 정보 & 페이지 이동

✅ 주요 프로퍼티

속성 설명
href 전체 URL 주소
hostname 도메인 이름 (예: www.example.com)
pathname 파일 경로 (/about/index.html)
hash # 이후 문자열
search 쿼리 문자열 (?key=value)
port 포트 번호 (예: 443, 8080)

✅ 주요 메소드

메소드 설명
assign(url) 새 페이지로 이동 (뒤로 가기 가능)
replace(url) 새 페이지로 이동 (기록 덮어쓰기)
reload() 페이지 새로 고침 (F5 효과)
location.href = "https://example.com"; // 이동
location.reload(); // 새로고침

🔙 2. history 객체 – 브라우저 방문 기록 제어

✅ 주요 메소드 및 프로퍼티

메소드/속성 설명
length 방문한 페이지 수
back() 이전 페이지로 이동
forward() 다음 페이지로 이동
go(n) n만큼 앞(+) 또는 뒤(-)로 이동
history.go(-1); // 이전 페이지
history.forward(); // 다음 페이지

🖥️ 3. screen 객체 – 모니터 정보

속성 설명
width / height 전체 해상도 (픽셀 단위)
availWidth / availHeight 실제 사용 가능한 영역 (작업표시줄 제외)
colorDepth 색상당 비트 수 (보통 24)
pixelDepth 픽셀당 비트 수 (보통 colorDepth와 동일)
console.log(screen.width, screen.height); // 1920 x 1080

🌐 4. navigator 객체 – 브라우저/OS 정보

속성 설명
appName 브라우저 이름 (대부분 “Netscape”)
appVersion 브라우저 버전
userAgent 상세 브라우저 정보 문자열
platform 운영체제 정보 (Windows, Mac 등)
language 기본 언어 코드 (예: “ko”, “en-US”)
cookieEnabled 쿠키 허용 여부 (true/false)
javaEnabled() 자바 애플릿 사용 가능 여부 (비표준)
console.log(navigator.language); // "ko"
console.log(navigator.cookieEnabled); // true or false

✅ 종합 예제: 현재 상태 출력

<script>
  document.write("▶ 현재 URL: " + location.href + "<br>");
  document.write("▶ 호스트: " + location.hostname + "<br>");
  document.write("▶ 경로: " + location.pathname + "<br>");
  document.write(
    "▶ 스크린 해상도: " + screen.width + "x" + screen.height + "<br>"
  );
  document.write("▶ OS: " + navigator.platform + "<br>");
  document.write("▶ 언어: " + navigator.language + "<br>");
  document.write(
    "▶ 쿠키 가능: " + (navigator.cookieEnabled ? "Yes" : "No") + "<br>"
  );
</script>

⚠️ 주의 사항

  • navigator.appName, appVersion 등은 구식/신뢰도 낮음
  • *기능 감지(feature detection)**가 더 안전한 접근 방식
  • 일부 브라우저는 속성 제한 또는 팝업 차단, 쿠키 차단 설정으로 정확한 정보 제공이 제한될 수 있음

질문 정리

Q1. location.href와 assign()의 차이는?

A: href = "url"은 즉시 이동하며 히스토리에 남습니다. assign()도 동일. 반면, replace()는 기록을 덮어씁니다.

Q2. navigator.userAgent로 브라우저 구분해도 되나요?

A: 기본적으로는 가능하지만, 변조 가능성이 높아 권장하지 않습니다.

Q3. 새 창 팝업이 안 열려요!

A: 팝업 차단기가 작동 중일 수 있습니다. 사용자의 명시적 이벤트(예: 클릭)로만 열리는 경우가 많습니다.

카테고리:

업데이트:

댓글남기기