מחלקה של google.script.history (ממשק API בצד הלקוח)

google.script.history הוא ממשק API אסינכרוני של JavaScript בצד הלקוח, שיכול לבצע אינטראקציה עם סטאק היסטוריית הדפדפן. אפשר להשתמש בו רק באפליקציות אינטרנט שמשתמשות ב-IFRAME. הוא לא מיועד לשימוש בסרגלי צד ובתיבות דו-שיח בהקשר של תוסף או של סקריפט קונטיינר. למידע נוסף, אפשר לקרוא את המדריך לשימוש בהיסטוריית הדפדפן באפליקציות אינטרנט.

שיטות

שיטהסוג הערך שמוחזרתיאור קצר
push(stateObject, params, hash) void דוחף את אובייקט המצב, הפרמטרים של כתובת האתר והמקטע של כתובת האתר שצוינו למקבץ של היסטוריית הדפדפן.
replace(stateObject, params, hash) void מחליף את האירוע העליון בערימת היסטוריית הדפדפן באובייקט המצב, הפרמטרים של כתובת האתר והמקטע של כתובת האתר שסופקו.
setChangeHandler(function) void מגדירה פונקציית קריאה חוזרת כדי להגיב לשינויים בהיסטוריית הדפדפן

תיעוד מפורט

push(stateObject, params, hash)

דוחף את אובייקט המצב, הפרמטרים של כתובת האתר והמקטע של כתובת האתר שצוינו למקבץ של היסטוריית הדפדפן. אובייקט המצב הוא אובייקט JavaScript פשוט שמוגדר על ידי המפתח, ויכול להכיל את כל הנתונים שרלוונטיים למצב הנוכחי של האפליקציה. השיטה הזו מקבילה ל-method של JavaScript 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אובייקט שמכיל פרמטרים של כתובת אתר לשיוך למצב הזה. לדוגמה: {foo: “bar”, fiz: “baz”} שווה ל- "?foo=bar&fiz=baz". לחלופין, ניתן להשתמש במערכים: {foo: [“bar”, “cat”], fiz: “baz”} שווה ל-"?foo=bar&foo=cat&fiz=baz". אם הערך ריק או לא מוגדר, הפרמטרים הנוכחיים של כתובת האתר לא משתנים. אם השדה יישאר ריק, הפרמטרים של כתובת האתר יימחקו.
hashStringהמקטע של כתובת ה-URL של המחרוזת מופיע אחרי התו '#'. אם הערך null או לא מוגדר, המקטע הנוכחי של כתובת האתר לא ישתנה. אם השדה יישאר ריק, החלק של כתובת ה-URL יוסר.


replace(stateObject, params, hash)

מחליף את האירוע העליון במקבץ של היסטוריית הדפדפן באובייקט המצב, בפרמטרים של כתובת האתר ובמקטע של כתובת האתר שסופק (בהגדרת המפתח). בשאר המקרים, השדה הזה זהה ל-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". אם הערך ריק או לא מוגדר, הפרמטרים הנוכחיים של כתובת האתר לא משתנים. אם השדה יישאר ריק, הפרמטרים של כתובת האתר יימחקו.
hashStringהמקטע של כתובת ה-URL של המחרוזת מופיע אחרי התו '#'. אם הערך null או לא מוגדר, המקטע הנוכחי של כתובת האתר לא ישתנה. אם השדה יישאר ריק, החלק של כתובת ה-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"]}}