תיאור
כדי להסיר נתוני גלישה מהפרופיל המקומי של משתמש, משתמשים ב-API של chrome.browsingData
.
הרשאות
browsingData
כדי להשתמש ב-API הזה, צריך להצהיר על ההרשאה "browsingData"
במניפסט התוסף.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
מושגים ושימוש
התרחיש לדוגמה הפשוט ביותר ל-API הזה הוא מנגנון מבוסס-זמן לניקוי נתוני הגלישה של המשתמש.
הקוד צריך לספק חותמת זמן שמציינת את התאריך ההיסטורי שאחריו צריך להסיר את נתוני הגלישה של המשתמש. חותמת הזמן הזו מופיעה בפורמט של מספר אלפיות השנייה שעברו מאז תחילת יוניקס (Unix epoch) (שאפשר לאחזר מאובייקט Date
של JavaScript באמצעות method getTime()
).
לדוגמה, כדי לנקות את כל נתוני הגלישה של משתמש מהשבוע האחרון, אפשר לכתוב קוד באופן הבא:
var callback = function () {
// Do something clever here once data has been removed.
};
var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.remove({
"since": oneWeekAgo
}, {
"appcache": true,
"cache": true,
"cacheStorage": true,
"cookies": true,
"downloads": true,
"fileSystems": true,
"formData": true,
"history": true,
"indexedDB": true,
"localStorage": true,
"passwords": true,
"serviceWorkers": true,
"webSQL": true
}, callback);
השיטה chrome.browsingData.remove()
מאפשרת להסיר סוגים שונים של נתוני גלישה באמצעות קריאה אחת, והיא תהיה מהירה הרבה יותר מקריאה למספר שיטות ספציפיות יותר. עם זאת, אם רוצים לנקות רק סוג אחד ספציפי של נתוני גלישה (למשל, קובצי cookie), השיטות המפורטות יותר מציעות חלופה קריאה לקריאה שמלאה ב-JSON.
var callback = function () {
// Do something clever here once data has been removed.
};
var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.removeCookies({
"since": oneWeekAgo
}, callback);
אם המשתמש מסנכרן את הנתונים, יכול להיות שאחרי מחיקת קובץ ה-cookie של חשבון הסנכרון ייווצר מחדש באופן אוטומטי קובץ ה-cookie של chrome.browsingData.remove()
. המטרה היא לוודא שהסנכרון יוכל להמשיך לפעול כך שהנתונים יימחקו בסופו של דבר בשרת. עם זאת, במקרה הזה אפשר להשתמש ב-chrome.browsingData.removeCookies()
הספציפי יותר כדי למחוק את קובץ ה-cookie של חשבון הסנכרון, והסנכרון יושהה.
מקורות ספציפיים
כדי להסיר נתונים ממקור מסוים או להחריג קבוצת מקורות מהמחיקה, אפשר להשתמש בפרמטרים RemovalOptions.origins
ו-RemovalOptions.excludeOrigins
. אפשר להחיל אותם רק על קובצי cookie, מטמון ואחסון (CacheStorage , FileSystems , IndexedDB , LocalStorage , ServiceWorkers ו-WebSQL).
chrome.browsingData.remove({
"origins": ["https://www.example.com"]
}, {
"cacheStorage": true,
"cookies": true,
"fileSystems": true,
"indexedDB": true,
"localStorage": true,
"serviceWorkers": true,
"webSQL": true
}, callback);
סוגי מקורות
כשמוסיפים מאפיין originTypes
לאובייקט האפשרויות של ממשקי ה-API, אפשר לציין את סוגי המקורות שאמורים לחול. המקורות מחולקים לשלוש קטגוריות:
unprotectedWeb
מכסה את המקרה הכללי של אתרים שמשתמשים נכנסים אליהם בלי לבצע שום פעולה מיוחדת. אם לא מצייניםoriginTypes
, ברירת המחדל של ה-API היא הסרת נתונים ממקורות אינטרנט לא מוגנים.protectedWeb
כולל את מקורות האינטרנט שהותקנו כאפליקציות מתארחות. לדוגמה, התקנת Angry Birds מגינה על המקורhttps://chrome.angrybirds.com
ומסירה אותו מהקטגוריהunprotectedWeb
. חשוב להיזהר כשמוחקים נתונים מהמקורות האלה: צריך לוודא שהמשתמשים יודעים מה הם מקבלים, כי הפעולה הזו תסיר באופן בלתי הפיך את נתוני המשחקים שלהם. אף אחד לא רוצה להרוס בתי חזירים קטנטנים לעיתים קרובות יותר מהנדרש.extension
מכסה מקורות במסגרת הסכמהchrome-extensions:
. שוב, הסרת נתוני תוספים היא דבר שחשוב מאוד להיזהר ממנו.
נוכל לתקן את הדוגמה הקודמת כך שנסיר נתונים רק מאתרים מוגנים באופן הבא:
var callback = function () {
// Do something clever here once data has been removed.
};
var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.remove({
"since": oneWeekAgo,
"originTypes": {
"protectedWeb": true
}
}, {
"appcache": true,
"cache": true,
"cacheStorage": true,
"cookies": true,
"downloads": true,
"fileSystems": true,
"formData": true,
"history": true,
"indexedDB": true,
"localStorage": true,
"passwords": true,
"serviceWorkers": true,
"webSQL": true
}, callback);
דוגמאות
כדי לנסות את ה-API הזה, מתקינים את הדוגמה שלbrowsingData API מהמאגר chrome-extension-Sample.
סוגים
DataTypeSet
סדרה של סוגי נתונים. סוגי נתונים חסרים מפורשים כ-false
.
תכונות
-
מטמון אפליקציות
ערך בוליאני אופציונלי
מטמון אפליקציות של אתרים.
-
קובץ שמור
ערך בוליאני אופציונלי
המטמון של הדפדפן.
-
cacheStorage
ערך בוליאני אופציונלי
Chrome 72 ואילךאחסון המטמון
-
קובצי cookie
ערך בוליאני אופציונלי
קובצי ה-Cookie של הדפדפן.
-
הורדות
ערך בוליאני אופציונלי
רשימת ההורדות של הדפדפן.
-
fileSystems
ערך בוליאני אופציונלי
במערכות הקבצים של אתרים.
-
formData
ערך בוליאני אופציונלי
נתוני הטפסים השמורים בדפדפן.
-
היסטוריה
ערך בוליאני אופציונלי
ההיסטוריה של הדפדפן.
-
indexedDB
ערך בוליאני אופציונלי
נתוני IndexedDB של אתרים.
-
localStorage
ערך בוליאני אופציונלי
נתוני האחסון המקומי של אתרים.
-
סיסמאות
ערך בוליאני אופציונלי
סיסמאות שמורות.
-
pluginData
ערך בוליאני אופציונלי
הוצא משימוש החל מ-Chrome 88התמיכה ב-Flash הוסרה. המערכת תתעלם מסוג הנתונים הזה.
נתוני יישומי פלאגין.
-
serverBoundCertificates
ערך בוליאני אופציונלי
הוצא משימוש החל מ-Chrome 76התמיכה באישורים שקשורים לשרת הוסרה. המערכת תתעלם מסוג הנתונים הזה.
אישורים שקשורים לשרת.
-
serviceWorkers
ערך בוליאני אופציונלי
קובצי שירות (service worker).
-
webSQL
ערך בוליאני אופציונלי
נתוני WebSQL של אתרים.
RemovalOptions
אפשרויות שקובעות אילו נתונים בדיוק יוסרו.
תכונות
-
excludeOrigins
string[] אופציונלי
Chrome מגרסה 74 ואילךכשיש נתונים של מקורות ברשימה הזו, הם לא נמחקים. לא ניתן להשתמש בו יחד עם
origins
. האפשרות נתמכת רק עבור קובצי cookie, אחסון ומטמון. קובצי Cookie לא נכללים בכל הדומיין שניתן לרשום. -
originTypes
אובייקט אופציונלי
אובייקט שהמאפיינים שלו מציינים אילו סוגי מקורות צריך להסיר. אם האובייקט הזה לא צוין, ברירת המחדל שלו היא הסרת מקורות 'לא מוגנים' בלבד. חשוב באמת להסיר את נתוני האפליקציה לפני שמוסיפים 'ProtectWeb' או 'תוספים'.
-
תוסף
ערך בוליאני אופציונלי
תוספים ואפליקציות ארוזות שהמשתמש התקין (היזהרו _really_!).
-
protectedWeb
ערך בוליאני אופציונלי
אתרים שהותקנו כאפליקציות מתארחות (זהירות!).
-
unprotectedWeb
ערך בוליאני אופציונלי
אתרים רגילים.
-
-
מקורות
[string, ...string[]] optional
Chrome מגרסה 74 ואילךכשיש כאלה, רק הנתונים של המקורות שברשימה הזו נמחקים. האפשרות נתמכת רק עבור קובצי cookie, אחסון ומטמון. קובצי ה-Cookie נמחקים מכל הדומיין שניתן לרשום.
-
מאז
מספר אופציונלי
הסרת נתונים שהצטברו בתאריך הזה או אחריו, מיוצגים באלפיות השנייה מאז תחילת התקופה (נגיש באמצעות שיטת
getTime
של אובייקטDate
של JavaScript). אם השדה חסר, ברירת המחדל שלו היא 0 (ואז כל נתוני הגלישה יוסרו).
שיטות
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
)
ניקוי סוגים שונים של נתוני גלישה ששמורים בפרופיל המשתמש.
פרמטרים
-
אפשרויות
-
dataToRemove
קבוצה של סוגי נתונים להסרה.
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני המטמון של האתר.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
)
מנקה את המטמון של הדפדפן.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
ניקוי של נתוני האחסון במטמון של אתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
)
מנקה את קובצי ה-cookie של הדפדפן ואת האישורים הקשורים לשרת, ששונו במהלך פרק זמן מסוים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
)
ניקוי רשימת הדפדפן של הקבצים שהורדו (לא את הקבצים שהורדתם עצמם).
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני מערכת הקבצים של אתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני הטפסים המאוחסנים בדפדפן (מילוי אוטומטי).
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
)
ניקוי ההיסטוריה של הדפדפן.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני IndexedDB של האתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני האחסון המקומי של אתרים
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
)
ניקוי הסיסמאות המאוחסנות של הדפדפן.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
)
התמיכה ב-Flash הוסרה. לפונקציה הזו אין השפעה.
ניקוי הנתונים של יישומי הפלאגין.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
ניקוי קובצי השירות של האתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני WebSQL של אתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.
settings()
chrome.browsingData.settings(
callback?: function,
)
דוחות לגבי סוגי הנתונים שנבחרו כרגע בממשק המשתמש של ההגדרות 'ניקוי נתוני גלישה'. הערה: חלק מסוגי הנתונים הכלולים ב-API הזה אינם זמינים בממשק המשתמש של ההגדרות, והגדרות מסוימות של ממשק המשתמש שולטות ביותר מסוג אחד של נתונים המפורטים כאן.
פרמטרים
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(result: object) => void
-
תוצאה אחת
אובייקט
-
dataRemovalPermitted
כל הסוגים יופיעו בתוצאה, יחד עם הערכים
true
אם מותר להסיר אותם (למשל, לפי מדיניות הארגון) ו-false
אם לא. -
dataToRemove
כל הסוגים יופיעו בתוצאה, יחד עם הערכים
true
, אם בוחרים להסיר את שניהם ומותר להסיר אותם, אחרתfalse
. -
אפשרויות
-
-
החזרות
-
Promise<object>
Chrome מגרסה 96 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל יש גם קריאות חוזרות (callback) לצורך תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה ניתנת לפתרון באותו הסוג שמועבר לקריאה החוזרת.