JavaScript는 브라우저에서 제공하는 많은 개체를 가져와 작업을 수행할 수 있습니다. 이 기사에서는 JavaScript의 브라우저 개체에 대한 지식을 소개합니다. JavaScript는 브라우저에서 제공하는 많은 개체를 얻고 이를 작동할 수 있습니다.
window창 개체는 전역 범위 역할을 할 뿐만 아니라 브라우저 창을 나타냅니다.
창 개체에는 브라우저 창의 내부 너비와 높이를 가져올 수 있는 innerWidth 및 innerHeight 속성이 있습니다. 내부 너비와 높이는 메뉴 표시줄, 도구 모음, 테두리와 같은 자리 표시자 요소를 제거한 후 웹 페이지를 표시하는 데 사용되는 순 너비와 높이를 나타냅니다.
호환성: IE<=8은 지원되지 않습니다.
// 可以调整浏览器窗口大小试试: alert('window inner size: ' + window.innerWidth + ' x ' + window.innerHeight);
그에 따라 브라우저 창의 전체 너비와 높이를 얻을 수 있는 externalWidth 및 externalHeight 속성도 있습니다.
navigator
는 브라우저 정보를 나타냅니다. gator.app 버전: 브라우저 버전;
alert('appName = ' + navigator.appName + '\n' + 'appVersion = ' + navigator.appVersion + '\n' + 'language = ' + navigator.language + '\n' + 'platform = ' + navigator.platform + '\n' + 'userAgent = ' + navigator.userAgent);
var width; if (getIEVersion(navigator.userAgent) < 9) { width = document.body.clientWidth; } else { width = window.innerWidth; }
var width = window.innerWidth || document.body.clientWidth;
일반적으로 사용되는 속성은 다음과 같습니다.
longscreen.width: 화면 너비(픽셀 단위)
lmscreen.height: 화면 높이(픽셀 단위) 8, 16, 24와 같은 색상 비트입니다.
alert('Screen size = ' + screen.width + ' x ' + screen.height);
location object
는 현재 페이지의 URL 정보를 나타냅니다. 예를 들어 전체 URL:location.protocol; // 'http' location.host; // 'www.example.com' location.port; // '8080' location.pathname; // '/path/index.html' location.search; // '?a=1&b=2' location.hash; // 'TOP'
if (confirm('重新加载当前页' + location.href + '?')) { location.reload(); } else { location.assign('/discuss'); // 设置一个新的URL地址 }
문서 개체는 현재 페이지를 나타냅니다. HTML은 브라우저에서 DOM 형태의 트리 구조로 표현되므로 문서 객체는 전체 DOM 트리의 루트 노드입니다.
문서의 제목 속성은 HTML 문서의document.title = '努力学习JavaScript!';
DOM 트리에서 노드를 찾으려면 문서 개체에서 검색을 시작해야 합니다. 가장 일반적으로 사용되는 검색은 ID와 태그 이름을 기반으로 합니다.
먼저 HTML 데이터를 준비합니다. <dl id="drink-menu" style="border:solid 1px #ccc;padding:6px;">
<dt>摩卡</dt>
<dd>热摩卡咖啡</dd>
<dt>酸奶</dt>
<dd>北京老酸奶</dd>
<dt>果汁</dt>
<dd>鲜榨苹果汁</dd>
</dl>
var menu = document.getElementById('drink-menu'); var drinks = document.getElementsByTagName('dt'); var i, s, menu, drinks; menu = document.getElementById('drink-menu'); menu.tagName; // 'DL' drinks = document.getElementsByTagName('dt'); s = '提供的饮料有:'; for (i=0; i<drinks.length; i++) { s = s + drinks[i].innerHTML + ','; } alert(s);
핫 모카 커피
요구르트베이징 올드 요거트
주스
쿠키는 페이지에 표시되는 언어 등 웹사이트의 일부 설정을 저장할 수도 있습니다.
JavaScript는 document.cookie를 통해 현재 페이지의 쿠키를 읽을 수 있습니다.document.cookie; // 'v=123; remember=true; prefer=zh'
<!-- 当前页面在wwwexample.com --> <html> <head> <script src="http://www.foo.com/jquery.js"></script> </head> ... </html>
이 문제를 해결하기 위해 서버는 쿠키를 설정할 때 httpOnly를 사용할 수 있습니다. httpOnly로 설정된 쿠키는 JavaScript에서 읽혀지지 않습니다. 이 동작은 브라우저에 의해 구현됩니다. 모든 주류 브라우저는 httpOnly 옵션을 지원하며 IE는 IE6 SP1부터 이를 지원합니다.
보안을 보장하기 위해 서버는 쿠키를 설정할 때 항상 httpOnly 사용을 고집해야 합니다.
history
history 객체는 브라우저의 기록을 저장합니다. JavaScript는 기록 객체의 back() 또는 forward()를 호출할 수 있습니다. 이는 사용자가 브라우저에서 "뒤로" 또는 "앞으로"를 클릭하는 것과 같습니다. 브라우저 버튼.
이 개체는 역사적인 레거시 개체입니다. AJAX와 페이지 상호 작용의 광범위한 사용으로 인해 간단하고 무례하게 History.back()을 호출하면 사용자가 매우 화를 낼 수 있습니다.
초보자가 웹 페이지 디자인을 시작할 때, 로그인 페이지에 성공적으로 로그인되면 기록.back()을 호출하여 로그인 전 페이지로 돌아가려고 합니다. 이것은 잘못된 접근 방식입니다.
어떤 상황에서도 기록 개체를 사용해서는 안 됩니다.
위 내용은 JavaScript 브라우저 개체 샘플 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!