개체의 유지(persist) 데이터에 브라우저의 방문기록을 가능하게한다.

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

saveHistory 비헤이버는 사용자가 페이지로부터 다른 곳으로 항해할 때 현재 페이지의 상태를 저장한다.
사용자가 그 페이지로 돌아오기 위해서 뒤로앞으로 단추를 클릭하면 저장되었던 값이 회복(restore)된다.

saveHistory 비헤이버는 현재의 세션에서만 유지(persist)한다. saveHistory 비헤이버를 갖는 페이지로부터 사용자가 페이지로부터 다른 곳으로 항해하면, 사용자 데이터(UserData) 저장위치에 그 데이터가 유지된다. saveHistory 비헤이버는 전체 문서의 사용자 데이터(UserData) 저장을 사용하므로 두개의 엘레멘트에 같은 애트리뷰트를 기술하면 뒤 기술에 의하여 앞의 것이 덮어씌워진다. 사용자 데이터(UserData) 저장은 디스크에 저장되지 않고 메모리 흐름(in-memory stream)에 저장되므로, 브라우저가 닫겨지면 기록이 남지 않는다.

예를들어 페이지에서 여러 탄력적으로 업데이트된 스차일들을 가지면 이들 업데이트된 내용을 onloadonsave 이벤트처리자로 저장하거나 읽는다. 스타릴값들은 onsave 이벤트가 발생되면 저장되고, onload 이벤트가 발생되면 회복된다.

saveHistory 비헤이버을 사용하기 위하여, meta 태그로 유지 형식의 인식자를 기술한다.

<META name="save" content="history">

필요한 style은 인라인이나 문서의 head 부분에 설정할 수 있다.

<STYLE>.historyClass {behavior:url(#default#saveHistory);}</STYLE>

id 속성은 선택적이지만 유지를 올바르게 하기 위해서는 id가 필요하다.

saveHistory 비헤이버는 IE5Win32Unix 플랫트폼에서 지원된다.


attribute property 설명
XMLDocument XMLDocument 개체에 반영된 XML DOM(Document Object Model)의 참조를 반환한다.

메서드 설명
getAttribute 지정된 애트리뷰트의 값을 반환한다.
removeAttribute 지정된 애트리뷰트를 제거한다.
setAttribute 지정된 애트리뷰트의 값을 설정한다.

이벤트 설명
onload 페이지가 다시 로딩되면 유지(persistent) 엘레멘트로부터 발생한다.
onsave 웹페이지가 저장되거나 북마크(bookmark)되거나 사용자가 브라우저로 페이지로부터 다른곳으로 항해하면 유지(persistent) 엘레멘트로부터 발생한다.

적용
개체 IE
<ELEMENT style="behavior:url('#default#saveHistory')" id=idVal> IE5(win32,unix)
A ACRONYM ADDRESS AREA B BIG BLOCKQUOTE BUTTON CAPTION CENTER CITE CODE DD DEL DFN DIR DIV DL DT EM FONT FORM hn HR I 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 KBD LABEL LI LISTING MAP MARQUEE MENU OBJECT OL OPTION P plainText PRE Q S SAMP SELECT SMALL SPAN STRIKE STRONG SUB SUP TABLE TEXTAREA TT U UL VAR XMP

<BUTTON onclick="window.open('../behavior/exp/wsaveHistory.html','_new','width=500,height=300')">예제 보조창 열기</BUTTON>
exp/wsaveHistory.html 코드
<!DOCTYPE html public "-//w3c//dtd html 4//en">
<HTML>
<HEAD>
<TITLE>언어 참조 - Javascript - 비헤비어(behavior) - saveHistory 예제</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=euc-kr">
<LINK rel="stylesheet" type="text/css" href="../../public/jscript.css">
<META name="save" content="history">
<STYLE>.sHistory {behavior:url(#default#saveHistory);}</STYLE>
<SCRIPT>
function doSave(){
  message='입력하고 진행하라.';
  if (oPersistForm.oPersistText.value) document.location='../../public/blank.html';
  else {
    alert(message);
    oPersistForm.oPersistText.focus();
    return false;
  }
}
</SCRIPT>
</HEAD>

<BODY>
<TABLE width=500>
<TR><TD>
<DIV style="border:solid 1 blue;background:fff;text-align:center;width:100%;margin:5">
<H3><SPAN class=titleblue><SPAN class=behavior>saveHistory</SPAN> 예제</SPAN></H3>
</DIV>
<SPAN class=gray><SCRIPT>document.write(document.location)</SCRIPT></SPAN><BR><BR>
<FORM name="oPersistForm">
정보 입력 1: <INPUT type=text id="oPersistText" class=sHistory>(유지된다.)<BR>
정보 입력 2: <INPUT type=text id="oPersistNone">(유지되지 않는다.)
</FORM><BR>

<P align=center style="background:ffa;padding:10">입력한 후  
<BUTTON onClick="doSave()"
  style="background:aff;padding:1;font-size:.9em"><B>여기를 클릭</B></BUTTON>하고 다시 돌아와 보라.</P><BR>

<TABLE cellpadding=8 align=center style="border:solid 1 blue">
<TR><TD align=center><BUTTON onClick="self.close()">현재 보조창 닫기</BUTTON></TD></TR>
</TABLE>
</TD></TR></TABLE>

</BODY>
</HTML>
../../public/blank.html 코드
<!DOCTYPE html public "-//w3c//dtd html 4//en">
<HTML>
<HEAD>
<TITLE>빈 페이지</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-KR">
<LINK rel="stylesheet" type="text/css" href="../public/jscript.css">
</HEAD>

<BODY>
<CENTER>
<BR><BR><BR>
<H3>빈 페이지</H3><BR><BR>
<A href="Javascript:history.go(-1)"><IMG src="../../gif/arbackv.gif" border=0 alt="이전 페이지로"></A>
<A href="Javascript:history.back()">이전 페이지로</A>
<BR><BR><BR>
<SPAN class=mini><SPAN class=teal>이 페이지는 <SCRIPT>document.write(document.location)</SCRIPT> 임</SPAN></SPAN>
</CENTER>

</BODY>
</HTML>