src="../../framework/dhtmlHistory.js">
window.onload = initialize;
function initialize() {
// initialize the DHTML History
// framework
dhtmlHistory.initialize();
window.onload = initialize;
function initialize() {
// DHTML 히스토리 프레임워크를 초기화한다
dhtmlHistory.initialize();
// HTML 히스토리 변경 이벤트를 구독한다
dhtmlHistory.addListener(historyChange);
/** 히스토리 변경 이벤트를 받기 위한 콜백 */
function historyChange(newLocation,
historyData) {
debug("A history change has occurred: "
+ "newLocation="+newLocation
+ ", historyData="+historyData,
true);
}
window.onload = initialize;
function initialize() {
// initialize the DHTML History
// framework
dhtmlHistory.initialize();
// subscribe to DHTML history change
// events
dhtmlHistory.addListener(historyChange);
// if this is the first time we have
// loaded the page...
if (dhtmlHistory.isFirstLoad()) {
debug("Adding values to browser "
+ "history", false);
// start adding history
dhtmlHistory.add("helloworld",
"Hello World Data");
dhtmlHistory.add("foobar", 33);
dhtmlHistory.add("boobah", true);
var complexObject = new Object();
complexObject.value1 =
"This is the first value";
complexObject.value2 =
"This is the second data";
complexObject.value3 = new Array();
complexObject.value3[0] = "array 1";
complexObject.value3[1] = "array 2";
dhtmlHistory.add("complexObject",
complexObject);
http://codinginparadise.org/my_ajax_app#helloworld
window.onload = initialize;
function initialize() {
// initialize the DHTML History
// framework
dhtmlHistory.initialize();
// subscribe to DHTML history change
// events
dhtmlHistory.addListener(historyChange);
// if this is the first time we have
// loaded the page...
if (dhtmlHistory.isFirstLoad()) {
debug("Adding values to browser "
+ "history", false);
// start adding history
dhtmlHistory.add("helloworld",
"Hello World Data");
dhtmlHistory.add("foobar", 33);
dhtmlHistory.add("boobah", true);
var complexObject = new Object();
complexObject.value1 =
"This is the first value";
complexObject.value2 =
"This is the second data";
complexObject.value3 = new Array();
complexObject.value3[0] = "array 1";
complexObject.value3[1] = "array 2";
dhtmlHistory.add("complexObject",
complexObject);
window.onload = initialize;
function initialize() {
// initialize the DHTML History
// framework
dhtmlHistory.initialize();
// subscribe to DHTML history change
// events
dhtmlHistory.addListener(historyChange);
// if this is the first time we have
// loaded the page...
if (dhtmlHistory.isFirstLoad()) {
debug("Adding values to browser "
+ "history", false);
// start adding history
dhtmlHistory.add("helloworld",
"Hello World Data");
dhtmlHistory.add("foobar", 33);
dhtmlHistory.add("boobah", true);
var complexObject = new Object();
complexObject.value1 =
"This is the first value";
complexObject.value2 =
"This is the second data";
complexObject.value3 = new Array();
complexObject.value3[0] = "array 1";
complexObject.value3[1] = "array 2";
dhtmlHistory.add("complexObject",
complexObject);
// cache some values in the history
// storage
debug("Storing key "fakeXML" into "
+ "history storage", false);
var fakeXML =
"
+ "encoding="ISO-8859-1"?>"
+ ""
+ " "
+ " ";
historyStorage.put("fakeXML", fakeXML);
}
window.onload = initialize;
function initialize() {
// initialize the DHTML History
// framework
dhtmlHistory.initialize();
// subscribe to DHTML history change
// events
dhtmlHistory.addListener(historyChange);
// if this is the first time we have
// loaded the page...
if (dhtmlHistory.isFirstLoad()) {
debug("Adding values to browser "
+ "history", false);
// start adding history
dhtmlHistory.add("helloworld",
"Hello World Data");
dhtmlHistory.add("foobar", 33);
dhtmlHistory.add("boobah", true);
var complexObject = new Object();
complexObject.value1 =
"This is the first value";
complexObject.value2 =
"This is the second data";
complexObject.value3 = new Array();
complexObject.value3[0] = "array 1";
complexObject.value3[1] = "array 2";
dhtmlHistory.add("complexObject",
complexObject);
// cache some values in the history
// storage
debug("Storing key "fakeXML" into "
+ "history storage", false);
var fakeXML =
"
+ "encoding="ISO-8859-1"?>"
+ ""
+ " "
+ " ";
historyStorage.put("fakeXML", fakeXML);
}
// retrieve our values from the history
// storage
var savedXML =
historyStorage.get("fakeXML");
savedXML = prettyPrintXml(savedXML);
var hasKey =
historyStorage.hasKey("fakeXML");
var message =
"historyStorage.hasKey("fakeXML")="
+ hasKey + "
"
+ "historyStorage.get("fakeXML")=
"
+ savedXML;
debug(message, false);
}
/** 페이지가 로딩을 끝낸 후에 초기화를 수행하는 함수 */
function initialize() {
// DHTML 히스토리 프레임워크를 초기화한다
dhtmlHistory.initialize();
// DHTML 히스토리 리스너에 등록한다
dhtmlHistory.addListener(handleHistoryChange);
// 주소록을 가져올 수 없으면 직접 추가한 주소록을
// 히스토리 저장소에서 캐싱한다.
if (window.addressBook == undefined) {
// 주소록을 전역 객체로 저장한다
// 실제 응용프로그램에서는 백그라운드에서 서버로부터
// 주소록을 가져와야한다
window.addressBook =
["Brad Neuberg "bkn3@columbia.edu"",
"John Doe "johndoe@example.com"",
"Deanna Neuberg "mom@mom.com""];
// 주소록이 있으면 이를 캐시에 보관한다
// 사용자가 페이지를 떠난 후에 뒤로 이동으로 돌아온 경우에도 사용한다
historyStorage.put("addressBook",
addressBook);
}
else {
// 히스토리 저장소에서 캐시된 주소록을 가져온다
window.addressBook =
historyStorage.get("addressBook");
}
/** 히스토리 변경 이벤트를 처리한다 */
function handleHistoryChange(newLocation,
historyData) {
// 위치가 없으면 수신함의 기본 위치를 보여준다
if (newLocation == "") {
newLocation = "section:inbox";
}
// 위치 변화가 있으면 표시할 섹션을 추출한다.
// newLocation은 "section:"으로 시작한다
newLocation =
newLocation.replace(/section\:/, "");
// DHTML 히스토리 변경에 따라 브라우저를 업데이트한다
displayLocation(newLocation, historyData);
}
/** 오른쪽 컨텐트 영역에 주어진 위치를 표시한다*/
function displayLocation(newLocation,
sectionData) {
// 선택한 메뉴 항목을 가져온다
var selectedElement =
document.getElementById(newLocation);
// 이전에 선택된 메뉴 항목을 제거한다
var menu = document.getElementById("menu");
for (var i = 0; i < menu.childNodes.length;
i++) {
var currentElement = menu.childNodes[i];
// DOM 요소 노드인지 확인한다
if (currentElement.nodeType == 1) {
//모든 클래스 이름을 제거한다
currentElement.className = "";
}
}
// UI에서 다르게 나타나는 새로 선택된 메뉴 항목
selectedElement.className = "selected";
// 화면 오른쪽에 새로운 섹션을 표시한다.
// sectionData에 따라 섹션을 결정한다
// 앞서 캐시된 로컬 주소 데이터를 사용해서 주소록을 보여준다
if (newLocation == "addressbook") {
// 주소록을 보여준다
sectionData = "Your addressbook:
";
sectionData += "";
// 주소록이 아직 없다면 캐시에서 주소록을 가져온다
if (window.addressBook == undefined) {
window.addressBook =
historyStorage.get("addressBook");
}
// 주소록을 표시한다
for (var i = 0;
i < window.addressBook.length;
i++) {
sectionData += "- "
+ window.addressBook[i]
+ " ";
}
sectionData += "
";
}
// sectionData가 없다면 원격으로 가져온다. 이 예제에서는 주소록을 제외한
// 모든 데이터는 가짜를 이용하고 있다
if (sectionData == null) {
// 실제 응용프로그램에서는 섹션의 내용을 원격으로 가져와야한다
sectionData = "This is section: "
+ selectedElement.innerHTML + "
";
}
// 제목과 내용을 업데이트한다
var contentTitle =
document.getElementById("content-title");
var contentValue =
document.getElementById("content-value");
contentTitle.innerHTML =
selectedElement.innerHTML;
contentValue.innerHTML = sectionData;
}
이전 글 : 해커와 화가 (4)
다음 글 : 심비안에서 파이썬 스크립트 실행하기
최신 콘텐츠