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

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

Phương thức

Phương thứcKiểu 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à mảnh URL được cung cấp vào ngăn xếp nhật ký trình duyệt.
replace(stateObject, params, hash) void Thay thế sự kiện hàng đầu trên ngăn xếp nhật ký duyệt web bằng đối tượng trạng thái, tham số URL và mảnh URL đã cung cấp.
setChangeHandler(function) void Thiết lập 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à mảnh URL được cung cấp vào ngăn xếp nhật ký trình duyệt. Đố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ư phương thức JavaScript pushState().

Index.html

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

Các tham số

TênLoạiNội dung mô tả
stateObjectObjectMột đối tượng do nhà phát triển xác định sẽ được liên kết với một sự kiện trong nhật ký duyệt web và sẽ xuất hiện lại khi trạng thái bật lên. Thường được dùng để lưu trữ thông tin về trạng thái của ứng dụng (chẳng hạn như dữ liệu trang) cho mục đích truy xuất trong tương lai.
paramsObjectMột đố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 các 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, thì các tham số URL hiện tại sẽ không thay đổi. Nếu trống, các tham số URL sẽ bị xoá.
hashStringPhân đoạn URL của chuỗi xuất hiện sau ký tự "#". Nếu có giá trị rỗng hoặc không xác định, thì phân đoạn URL hiện tại sẽ không thay đổi. Nếu trống, phân đoạn URL sẽ bị xoá.


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 đối tượng trạng thái (do nhà phát triển xác định) được cung cấp, tham số URL và mảnh URL. Tuy nhiên, phương thứ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");

Các tham số

TênLoạiNội dung mô tả
stateObjectObjectMột đối tượng do nhà phát triển xác định sẽ được liên kết với một sự kiện trong nhật ký duyệt web và sẽ xuất hiện lại khi trạng thái bật lên. Thường được dùng để lưu trữ thông tin về trạng thái của ứng dụng (chẳng hạn như dữ liệu trang) cho mục đích truy xuất trong tương lai.
paramsObjectMột đố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 các 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, thì các tham số URL hiện tại sẽ không thay đổi. Nếu trống, các tham số URL sẽ bị xoá.
hashStringPhân đoạn URL của chuỗi xuất hiện sau ký tự "#". Nếu có giá trị rỗng hoặc không xác định, thì phân đoạn URL hiện tại sẽ không thay đổi. Nếu trống, phân đoạn URL sẽ bị xoá.

setChangeHandler(function)

Thiết lập 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...
});

Các tham số

TênLoạiNội dung mô tả
functionFunctionmột hàm callback phía máy khách để chạy dựa trên một sự kiện thay đổi nhật ký, sử dụng đối tượng sự kiện làm đối số duy nhất.

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

Các trường
e.state

Đối tượng trạng thái liên kết với sự kiện được bật ra. Đối tượng này giống với đối tượng trạng thái đã dùng trong phương thức push() hoặc replace() tương ứng đã 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 kết với sự kiện được bật lên

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