کلاس google.script.history (API سمت مشتری)

google.script.history یک API جاوا اسکریپت سمت کلاینت ناهمزمان است که می تواند با پشته سابقه مرورگر تعامل داشته باشد. این فقط در زمینه یک برنامه وب که از IFRAME استفاده می کند قابل استفاده است. این برای استفاده با نوارهای کناری و گفتگو در یک متن افزودنی یا اسکریپت کانتینری در نظر گرفته نشده است. برای اطلاعات بیشتر، راهنمای استفاده از سابقه مرورگر در برنامه‌های وب را ببینید.

روش ها

روش نوع برگشت شرح مختصر
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" . اگر تهی یا تعریف نشده باشد، پارامترهای URL فعلی تغییر نمی کنند. اگر خالی باشد، پارامترهای URL پاک می شوند.
hash String قطعه URL رشته که بعد از کاراکتر '#' ظاهر می شود. اگر تهی یا تعریف نشده باشد، قطعه 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" . اگر تهی یا تعریف نشده باشد، پارامترهای URL فعلی تغییر نمی کنند. اگر خالی باشد، پارامترهای URL پاک می شوند.
hash String قطعه URL رشته که بعد از کاراکتر '#' ظاهر می شود. اگر تهی یا تعریف نشده باشد، قطعه URL فعلی تغییر نمی کند. اگر خالی باشد، قطعه URL پاک می شود.

setChangeHandler(function)

یک عملکرد برگشت به تماس را برای پاسخ به تغییرات در تاریخچه مرورگر تنظیم می کند. تابع callback باید فقط یک شی رویداد واحد را به عنوان آرگومان دریافت کند.

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 مربوطه استفاده می شود که حالت popped را به پشته تاریخ اضافه می کند.

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

یک شی مکان مرتبط با رویداد ظاهر شده

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