클래스 google.script.history (클라이언트 측 API)

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");

매개변수

이름유형설명
stateObjectObject브라우저 기록 이벤트와 연결되고 상태가 표시될 때 다시 표시되는 개발자 정의 객체입니다. 일반적으로 나중에 검색할 수 있도록 애플리케이션 상태 정보 (예: 페이지 데이터)를 저장하는 데 사용됩니다.
paramsObject이 상태와 연결할 URL 매개변수가 포함된 객체입니다. 예를 들어 {foo: “bar”, fiz: “baz”}"?foo=bar&fiz=baz"에 해당합니다. 또는 배열을 사용할 수 있습니다. {foo: [“bar”, “cat”], fiz: “baz”}"?foo=bar&foo=cat&fiz=baz"와 같습니다. null이거나 정의되지 않은 경우 현재 URL 매개변수가 변경되지 않습니다. 비어 있으면 URL 매개변수가 삭제됩니다.
hashString'#' 문자 뒤에 표시되는 문자열 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");

매개변수

이름유형설명
stateObjectObject브라우저 기록 이벤트와 연결되고 상태가 표시될 때 다시 표시되는 개발자 정의 객체입니다. 일반적으로 나중에 검색할 수 있도록 애플리케이션 상태 정보 (예: 페이지 데이터)를 저장하는 데 사용됩니다.
paramsObject이 상태와 연결할 URL 매개변수가 포함된 객체입니다. 예를 들어 {foo: “bar”, fiz: “baz”}"?foo=bar&fiz=baz"에 해당합니다. 또는 배열을 사용할 수 있습니다. {foo: [“bar”, “cat”], fiz: “baz”}"?foo=bar&foo=cat&fiz=baz"와 같습니다. null이거나 정의되지 않은 경우 현재 URL 매개변수가 변경되지 않습니다. 비어 있으면 URL 매개변수가 삭제됩니다.
hashString'#' 문자 뒤에 표시되는 문자열 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...
});

매개변수

이름유형설명
functionFunction기록 변경 이벤트에 관해 실행할 클라이언트 측 콜백 함수로, 이벤트 객체를 유일한 인수로 사용합니다.

이벤트 객체

필드
e.state

표시된 이벤트와 연결된 상태 객체입니다. 이 객체는 해당하는 push() 또는 replace() 메서드에 사용되어 팝된 상태를 기록 스택에 추가한 상태 객체와 동일합니다.

{"page":2, "name":"Wilbur"}
e.location

표시된 이벤트와 연결된 위치 객체

{"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}}