클래스 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() JavaScript 메서드와 함께 사용할 수 있습니다.

index.html

var now = new Date();
var state = {
  'timestamp': now.getTime()
};
var params = {
  'options': "none"
};
google.script.history.push(state, params, "anchor1");

매개변수

이름유형설명
stateObjectObject개발자가 정의하고 브라우저 기록 이벤트와 연결되어 있으며, 상태가 표시되면 다시 표시됩니다. 보통 향후 검색을 위해 애플리케이션 상태 정보 (예: 페이지 데이터)를 저장하는 데 사용됩니다.
paramsObject 이 상태와 관련이 있습니다. 예를 들어 {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 이 상태와 관련이 있습니다. 예를 들어 {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"]}}