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");
פרמטרים
שם | תיאור | התיאור |
---|---|---|
stateObject | Object | אובייקט שהוגדר על ידי המפתח וישויך לאירוע של היסטוריית הדפדפן בדרך כלל משמש לאחסון מידע על מצב האפליקציה (כמו נתוני דפים) לצורך אחזור עתידי. |
params | Object | אובייקט שמכיל פרמטרים של כתובת אתר
לשיוך למצב הזה. לדוגמה: {foo: “bar”, fiz: “baz”} שווה ל-
"?foo=bar&fiz=baz" . לחלופין, ניתן להשתמש במערכים:
{foo: [“bar”, “cat”], fiz: “baz”} שווה ל-"?foo=bar&foo=cat&fiz=baz" .
אם הערך ריק או לא מוגדר, הפרמטרים הנוכחיים של כתובת האתר לא משתנים. אם השדה יישאר ריק, הפרמטרים של כתובת האתר יימחקו.
|
hash | String | המקטע של כתובת ה-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");
פרמטרים
שם | תיאור | התיאור |
---|---|---|
stateObject | Object | אובייקט שהוגדר על ידי המפתח וישויך לאירוע של היסטוריית הדפדפן בדרך כלל משמש לאחסון מידע על מצב האפליקציה (כמו נתוני דפים) לצורך אחזור עתידי. |
params | Object | אובייקט שמכיל פרמטרים של כתובת אתר
לשיוך למצב הזה. לדוגמה: {foo: “bar”, fiz: “baz”} שווה ל-
"?foo=bar&fiz=baz" . לחלופין, ניתן להשתמש במערכים:
{foo: [“bar”, “cat”], fiz: “baz”} שווה ל-"?foo=bar&foo=cat&fiz=baz" .
אם הערך ריק או לא מוגדר, הפרמטרים הנוכחיים של כתובת האתר לא משתנים. אם השדה יישאר ריק, הפרמטרים של כתובת האתר יימחקו.
|
hash | String | המקטע של כתובת ה-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... });
פרמטרים
שם | תיאור | התיאור |
---|---|---|
function | Function | פונקציית קריאה חוזרת בצד הלקוח שמריצים על אירוע של שינוי היסטוריה, ומשתמשת באובייקט האירוע כארגומנט היחיד. |
אובייקט האירוע
שדות | |
---|---|
e.state |
אובייקט המצב שמשויך לאירוע שנפתח. האובייקט הזה זהה לאובייקט המצב ששימש בשיטה המתאימה מסוג push() או replace(), שהוסיף את המצב הקופץ למקבץ ההיסטוריה. {"page":2, "name":"Wilbur"} |
e.location |
אובייקט מיקום שמשויך לאירוע הקופץ {"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}} |