Explorer에 의하여 지원되는 기능과 정보, 브라우저의 필요에따라 콤포텐트 설치 방식을 제공한다.

script object.style.behavior="url('#default#clientCaps')";
object.addBehavior('#default#clientCaps');
HTML <ELEMENT style="behavior:url('#default#clientCaps')" id=idVal>
XML <prefix:CustomTag id=idVal style="behavior:url('#default#clientCaps')" />
인수
prefix CustomTag과 연관된 XML namespace 접두어이다. HTML 태그에서 xmlns 애트리뷰트로 설정한다.
CustomTag 작성자가 정의하여 사용하는 태그이다.
idVal 개체을 대표하는 유일한 인식자 문자열이다.
특기

window.onload 이벤트가 발생되기 전에는 스크립트로 아래 속성이나 이벤트에 접속할 수 없다. 문서가 완전히 로딩되고, onload 이벤트가 발생되면 해당 페이지의 비헤이버가 적용되고, 모든 속성, 메서드, 이벤트를 스크립트로 사용할 수 있다. 이벤트 발생전에 스트립트로 개체에 접속을 시도하면 스트립트는 그 속성이 개체에서 지원되지 않는다는 오류를 발생시킨다.

clientCaps 비헤이버는 IE5Win32Unix 프래스폼, IE5.5에서 ce 유효하다.


attribute property 설명
  availHeight 시스템 스크린에서 윈도우 태스크바를 제외한 작업 지역의 높이를 반환한다.
  availWidth 시스템 스크린에서 윈도우 태스크바를 제외한 작업 지역의 너비를 반환한다.
  bufferDepth 색상에 사용되는 오프스크린(off-screen) 비트맵(bitmap) 버퍼 픽셀당 바이트 수를 반환한다.
  colorDepth 목표 장치나 버퍼에서 색상에 사용되는 픽셀당 바이트 수를 반환한다.
  connectionType 연결에 사용되는 형식을 반환한다.
  cookieEnabled 브라우저에서 사용자측 쿠키가 허용되는가를 부울값으로 반환한다.
  cpuClass CPU 종류를 나타내는 분자열을 반환한다.
  height 스크린의 수직 해상도를 반환한다.
  javaEnabled Microsoft VM(Microsoft Virtual Machine)이 사용될 수 있는가를 부울값으로 반환한다.
  platform 사용하는 브라우저가 운용되는 플래트폼(platform)을 반환한다.
  systemLanguage 사용되는 시스템의 디폴트 언어를 반환한다.
  userLanguage 현재 사용자의 언어를 반환한다.
  width 스크린의 수평 해상도를 반환한다.

메서드 설명
addComponentRequest 설치할 수 있는 지정된 콤포넨트를 추가한다.
clearComponentRequest 모든 컴포넨트 다운로드 요청을 제거한다.
compareVersions 두개의 버전 번호를 비교한다.
doComponentRequest addComponentRequest를 사용하여 요청한 모든 콤포넨트를 다운로드하여 설치한다.
getComponentVersion 지정된 콤포넨트의 버전을 반환한다.
isComponentInstalled 지정한 콤포넨트가 설치되어 있는가를 반환한다.

개체 IE
<ELEMENT style="behavior:url('#default#clientCaps')" id=idVal> IE5(win32,unix),IE5.5(ce)
A ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BGSOUND BIG BLOCKQUOTE BODY BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP COMMENT DD DEL DFN DIR DIV DL DT EM EMBED FIELDSET FONT FORM FRAME FRAMESET HEAD hn HR HTML I IFRAME IMG INPUT type=button INPUT type=checkbox INPUT type=file INPUT type=hidden INPUT type=image INPUT type=password INPUT type=radio INPUT type=reset INPUT type=submit INPUT type=text INS ISINDEX KBD LABEL LEGEND LI LINK LISTING MAP MARQUEE MENU NEXTID NOBR NOFRAMES NOSCRIPT OBJECT OL OPTION P plainText PRE Q RT RUBY S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG SUB SUP TABLE TBODY TD TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR WBR XML XMP

clientCaps 비헤이버의 getComponentVersion 메서드로 브라우저 버전을 디스플레이한다.

<SCRIPT>
function showVersion(){
  var sVersion = oClientCaps.getComponentVersion ("{89820200-ECBD-11CF-8B85-00AA005B4383}","componentid");
  showA.innerHTML = '현재 Internet Explorer는 <FONT color=blue><B>' + sVersion + '</B></FONT>';
}
</SCRIPT>
<BODY style="behavior:url(#default#clientCaps)" id="oClientCaps">
<BUTTON onclick="showVersion()">Internet Explorer 버전은 </BUTTON>
<DIV id="showA"></DIV>

스크립트을 사용하여 탄력적으로 비헤이버를 설정, 설치되이 않았으면 익스플로러 데이터 연결 콤포넌트를 설치한다.

<HEAD>
<SCRIPT>
function doShow(){
  str='';
  oClientCaps.style.behavior = 'url(#default#clientCaps)';
  var bDBAvailable  = false;
  var sDBVersion = '';
  var sDBID = '{9381D8F2-0288-11D0-9501-00AA00B911A5}';
  str+='oClientCaps.style.behavior='+oClientCaps.style.behavior+'<BR>';
  bDBAvailable = oClientCaps.isComponentInstalled(sDBID,"componentid");
  if (!bDBAvailable){
    oClientCaps.addComponentRequest (sDBID, "componentid");
    bDBAvailable = oClientCaps.doComponentRequest();
    str+='데이터 연결이 없어 설치한다...<BR>';
  } else str+='데이터 연결이 이미 설치되어 있다.<BR>';
  str+='bDBAvailable='+bDBAvailable+'<BR>';
  showB.innerHTML=str;
}
</SCRIPT>
</HEAD>
<BODY id=oClientCaps>
<BUTTON onclick=doShow()>데이터 연결 확인 클릭</BUTTON>
<DIV id="showB"></DIV>