Lớp google.script.history (API phía máy khách)

google.script.history là API JavaScript phía máy khách không đồng bộ có thể tương tác cùng với ngăn xếp nhật ký duyệt web. Chỉ có thể dùng trong ngữ cảnh của một ứng dụng web sử dụng IFRAME. Tính năng này không nhằm sử dụng với thanh bên và hộp thoại trong tiện ích bổ sung hoặc ngữ cảnh tập lệnh vùng chứa. Để biết thêm thông tin, hãy xem hướng dẫn sử dụng trình duyệt nhật ký hoạt động trong ứng dụng web.

Phương thức

Phương thứcLoại dữ liệu trả vềMô tả ngắn
push(stateObject, params, hash) void Đẩy đối tượng trạng thái, tham số URL và phân đoạn URL đã cung cấp vào nhật ký duyệt web ngăn xếp.
replace(stateObject, params, hash) void Thay thế sự kiện hàng đầu trong ngăn xếp nhật ký trình duyệt bằng đối tượng trạng thái đã cung cấp, URL tham số và phân đoạn URL.
setChangeHandler(function) void Thiết lập một hàm callback để phản hồi các thay đổi trong nhật ký duyệt web

Tài liệu chi tiết

push(stateObject, params, hash)

Đẩy đối tượng trạng thái, tham số URL và phân đoạn URL đã cung cấp vào nhật ký duyệt web ngăn xếp. Đối tượng trạng thái là một Đối tượng JavaScript đơn giản do nhà phát triển xác định và có thể chứa mọi dữ liệu liên quan đến trạng thái hiện tại của ứng dụng. Phương thức này tương tự như pushState() JavaScript.

Index.html

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

Tham số

TênLoạiMô tả
stateObjectObjectĐối tượng do nhà phát triển xác định được liên kết với một sự kiện nhật ký duyệt web và xuất hiện lại khi trạng thái bật ra. Giá thông thường được dùng để lưu trữ thông tin trạng thái ứng dụng (như dữ liệu trang) cho mục đích truy xuất trong tương lai.
paramsObjectĐối tượng chứa tham số URL để liên kết với trạng thái này. Ví dụ: {foo: “bar”, fiz: “baz”} tương đương với "?foo=bar&fiz=baz" Ngoài ra, bạn có thể sử dụng mảng: {foo: [“bar”, “cat”], fiz: “baz”} tương đương với "?foo=bar&foo=cat&fiz=baz". Nếu có giá trị rỗng hoặc không xác định, các tham số URL hiện tại sẽ không thay đổi. Nếu trống, các tham số URL sẽ đã xóa.
hashStringPhân đoạn URL của chuỗi xuất hiện sau '#' . Nếu có giá trị rỗng hoặc không xác định, mảnh URL hiện tại sẽ không thay đổi. Nếu trống, Phân đoạn URL bị xóa.


replace(stateObject, params, hash)

Thay thế sự kiện trên cùng trong ngăn xếp nhật ký duyệt web bằng trạng thái đã cung cấp (do nhà phát triển xác định) Đối tượng URL, tham số URL và phân đoạn URL. Mặt khác, quy tắc này giống với push().

Index.html

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

Tham số

TênLoạiMô tả
stateObjectObjectĐối tượng do nhà phát triển xác định được liên kết với một sự kiện nhật ký duyệt web và xuất hiện lại khi trạng thái bật ra. Giá thông thường được dùng để lưu trữ thông tin trạng thái ứng dụng (như dữ liệu trang) cho mục đích truy xuất trong tương lai.
paramsObjectĐối tượng chứa tham số URL để liên kết với trạng thái này. Ví dụ: {foo: “bar”, fiz: “baz”} tương đương với "?foo=bar&fiz=baz" Ngoài ra, bạn có thể sử dụng mảng: {foo: [“bar”, “cat”], fiz: “baz”} tương đương với "?foo=bar&foo=cat&fiz=baz". Nếu có giá trị rỗng hoặc không xác định, các tham số URL hiện tại sẽ không thay đổi. Nếu trống, các tham số URL sẽ đã xóa.
hashStringPhân đoạn URL của chuỗi xuất hiện sau '#' . Nếu có giá trị rỗng hoặc không xác định, mảnh URL hiện tại sẽ không thay đổi. Nếu trống, Phân đoạn URL bị xóa.

setChangeHandler(function)

Đặt một hàm callback để phản hồi các thay đổi trong nhật ký duyệt web. Hàm callback chỉ nên lấy một đối tượng sự kiện duy nhất làm đối số.

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...
});

Tham số

TênLoạiMô tả
functionFunctionphía máy khách để chạy theo sự kiện thay đổi lịch sử, sử dụng hàm callback event đối tượng làm đối số duy nhất.

Đối tượng sự kiện

Trường
e.state

Đối tượng trạng thái liên kết với sự kiện được đẩy ra. Đối tượng này giống hệt với trạng thái đối tượng được sử dụng trong push() tương ứng hoặc Phương thức replace() đã thêm trạng thái bật lên vào ngăn xếp nhật ký.

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

Đối tượng vị trí liên quan đến sự kiện bị đẩy ra

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