google.script.history
: 브라우저 기록 스택과 상호작용할 수 있는 비동기 클라이언트 측 JavaScript API입니다. IFRAME
를 사용하는 웹 앱의 컨텍스트에서만 사용할 수 있습니다.
부가기능 또는 container-script 컨텍스트의 사이드바 및 대화상자와 함께 사용하기 위한 것이 아닙니다. 자세한 내용은 웹 앱에서 브라우저 방문 기록을 사용하는 방법에 관한 가이드를 참고하세요.
방법
메서드 | 반환 유형 | 간략한 설명 |
---|---|---|
push(stateObject, params, hash) |
void |
제공된 상태 객체, URL 매개변수 및 URL 프래그먼트를 브라우저 기록 스택으로 푸시합니다. |
replace(stateObject, params, hash) |
void |
브라우저 기록 스택의 상위 이벤트를 제공된 상태 객체, URL 매개변수, URL 프래그먼트로 바꿉니다. |
setChangeHandler(function) |
void |
브라우저 기록의 변경사항에 응답하도록 콜백 함수를 설정합니다. |
자세한 문서
push(stateObject, params, hash)
제공된 상태 객체, URL 매개변수 및 URL 프래그먼트를 브라우저 기록 스택으로 푸시합니다. 상태 객체는 개발자가 정의하는 간단한 자바스크립트 객체이며 앱의 현재 상태와 관련된 모든 데이터를 포함할 수 있습니다. 이 메서드는 pushState() 자바스크립트 메서드와 유사합니다.
Index.html
var now = new Date(); var state = { 'timestamp': now.getTime() }; var params = { 'options': "none" }; google.script.history.push(state, params, "anchor1");
매개변수
이름 | 유형 | 설명 |
---|---|---|
stateObject | Object | 브라우저 기록 이벤트와 연결되고 상태가 표시될 때 다시 표시되는 개발자 정의 객체입니다. 일반적으로 나중에 검색할 수 있도록 애플리케이션 상태 정보 (예: 페이지 데이터)를 저장하는 데 사용됩니다. |
params | Object | 이 상태와 연결할 URL 매개변수가 포함된 객체입니다. 예를 들어 {foo: “bar”, fiz: “baz”} 는 "?foo=bar&fiz=baz" 에 해당합니다. 또는 배열을 사용할 수 있습니다. {foo: [“bar”, “cat”], fiz: “baz”} 는 "?foo=bar&foo=cat&fiz=baz" 와 같습니다.
null이거나 정의되지 않은 경우 현재 URL 매개변수가 변경되지 않습니다. 비어 있으면 URL 매개변수가 삭제됩니다.
|
hash | String | '#' 문자 뒤에 표시되는 문자열 URL 프래그먼트입니다. null이거나 정의되지 않은 경우 현재 URL 조각이 변경되지 않습니다. 비어 있으면 URL 프래그먼트가 삭제됩니다. |
replace(stateObject, params, hash)
브라우저 기록 스택의 상위 이벤트를 제공된 (개발자 정의) 상태 객체, URL 매개변수, URL 프래그먼트로 대체합니다. 그 외에는 push()와 동일합니다.
Index.html
var now = new Date(); var state = { 'timestamp': now.getTime() }; var params = { 'options': "none" }; google.script.history.replace(state, params, "anchor1");
매개변수
이름 | 유형 | 설명 |
---|---|---|
stateObject | Object | 브라우저 기록 이벤트와 연결되고 상태가 표시될 때 다시 표시되는 개발자 정의 객체입니다. 일반적으로 나중에 검색할 수 있도록 애플리케이션 상태 정보 (예: 페이지 데이터)를 저장하는 데 사용됩니다. |
params | Object | 이 상태와 연결할 URL 매개변수가 포함된 객체입니다. 예를 들어 {foo: “bar”, fiz: “baz”} 는 "?foo=bar&fiz=baz" 에 해당합니다. 또는 배열을 사용할 수 있습니다. {foo: [“bar”, “cat”], fiz: “baz”} 는 "?foo=bar&foo=cat&fiz=baz" 와 같습니다.
null이거나 정의되지 않은 경우 현재 URL 매개변수가 변경되지 않습니다. 비어 있으면 URL 매개변수가 삭제됩니다.
|
hash | String | '#' 문자 뒤에 표시되는 문자열 URL 프래그먼트입니다. null이거나 정의되지 않은 경우 현재 URL 조각이 변경되지 않습니다. 비어 있으면 URL 프래그먼트가 삭제됩니다. |
setChangeHandler(function)
브라우저 기록의 변경사항에 응답하도록 콜백 함수를 설정합니다. 콜백 함수는 단일 이벤트 객체만 인수로 사용해야 합니다.
Index.html
google.script.history.setChangeHandler(function (e) { console.log(e.state); console.log(e.location.parameters); console.log(e.location.hash); // Adjust web app UI to match popped state here... });
매개변수
이름 | 유형 | 설명 |
---|---|---|
function | Function | 기록 변경 이벤트에 관해 실행할 클라이언트 측 콜백 함수로, 이벤트 객체를 유일한 인수로 사용합니다. |
이벤트 객체
필드 | |
---|---|
e.state |
표시된 이벤트와 연결된 상태 객체입니다. 이 객체는 해당하는 push() 또는 replace() 메서드에 사용되어 팝된 상태를 기록 스택에 추가한 상태 객체와 동일합니다. {"page":2, "name":"Wilbur"} |
e.location |
표시된 이벤트와 연결된 위치 객체 {"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}} |