תיאור
משתמשים ב-chrome.browsingData API כדי להסיר נתוני גלישה מהפרופיל המקומי של המשתמש.
הרשאות
browsingDataמניפסט
כדי להשתמש ב-API הזה, צריך להצהיר על ההרשאה browsingData במניפסט התוסף.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
שימוש
תרחיש השימוש הפשוט ביותר ב-API הזה הוא מנגנון מבוסס-זמן למחיקת נתוני הגלישה של משתמש.
הקוד צריך לספק חותמת זמן שמציינת את התאריך ההיסטורי שאחריו צריך להסיר את נתוני הגלישה של המשתמש. חותמת הזמן הזו מפורמטת כמספר אלפיות השנייה מאז ראשית זמן יוניקס (שאפשר לאחזר מאובייקט Date של JavaScript באמצעות השיטה 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);
אם המשתמש מסנכרן את הנתונים שלו, יכול להיות ש-chrome.browsingData.remove יבנה מחדש את קובץ ה-Cookie באופן אוטומטי עבור חשבון הסנכרון אחרי שהוא יימחק. כך אפשר לוודא שהסנכרון ימשיך לפעול, כדי שבסופו של דבר הנתונים יימחקו מהשרת. עם זאת, אפשר להשתמש ב-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-samples.
סוגים
DataTypeSet
קבוצה של סוגי נתונים. סוגי נתונים חסרים מפוענחים כ-false.
מאפיינים
-
appcache
boolean אופציונלי
הוצא משימוש מאז Chrome 152התמיכה ב-appcache הוסרה. המערכת תתעלם מסוג הנתונים הזה.
מטמון האפליקציות של אתרים.
-
קובץ שמור
boolean אופציונלי
המטמון של הדפדפן.
-
cacheStorage
boolean אופציונלי
Chrome 72 ואילךאחסון המטמון
-
קובצי cookie
boolean אופציונלי
קובצי ה-Cookie של הדפדפן.
-
הורדות
boolean אופציונלי
רשימת ההורדות של הדפדפן.
-
fileSystems
boolean אופציונלי
מערכות הקבצים של אתרים.
-
formData
boolean אופציונלי
נתוני הטפסים שמאוחסנים בדפדפן.
-
היסטוריה
boolean אופציונלי
ההיסטוריה של הדפדפן.
-
indexedDB
boolean אופציונלי
נתוני IndexedDB של אתרים.
-
localStorage
boolean אופציונלי
נתונים של אחסון מקומי של אתרים.
-
סיסמאות
boolean אופציונלי
הוצא משימוש מאז Chrome 144הוסרה התמיכה במחיקת סיסמאות באמצעות תוספים. המערכת תתעלם מסוג הנתונים הזה.
סיסמאות שמורות.
-
pluginData
boolean אופציונלי
הוצא משימוש מאז Chrome 88התמיכה ב-Flash הוסרה. המערכת תתעלם מסוג הנתונים הזה.
נתונים של יישומי פלאגין.
-
serverBoundCertificates
boolean אופציונלי
הוצא משימוש מאז גרסה 76 של Chromeהוסרה התמיכה באישורים שקשורים לשרת. המערכת תתעלם מסוג הנתונים הזה.
אישורים שקשורים לשרת.
-
serviceWorkers
boolean אופציונלי
קובצי שירות (service worker).
-
webSQL
boolean אופציונלי
הוצא משימוש מאז Chrome 152התמיכה ב-WebSQL הוסרה. המערכת תתעלם מסוג הנתונים הזה.
נתוני WebSQL של אתרים.
RemovalOptions
אפשרויות שקובעות בדיוק אילו נתונים יוסרו.
מאפיינים
-
excludeOrigins
string[] אופציונלי
Chrome 74 ואילךאם יש מקורות ברשימה הזו, הנתונים שלהם לא יימחקו. אי אפשר להשתמש בו יחד עם
origins. התמיכה זמינה רק לקובצי Cookie, לאחסון ולמטמון. קובצי Cookie מוחרגים לכל הדומיין שניתן לרישום. -
originTypes
אובייקט אופציונלי
אובייקט שהמאפיינים שלו מציינים אילו סוגי מקורות צריך לנקות. אם לא מציינים את האובייקט הזה, ברירת המחדל היא ניקוי רק של מקורות 'לא מוגנים'. לפני שמוסיפים את protectedWeb או extensions, חשוב לוודא שבאמת רוצים להסיר את נתוני האפליקציה.
-
תוסף
boolean אופציונלי
תוספים ואפליקציות ארוזות שהמשתמש התקין (צריך להיזהר מאוד!).
-
protectedWeb
boolean אופציונלי
אתרים שהותקנו כאפליקציות מארחות (חשוב להפעיל שיקול דעת!).
-
unprotectedWeb
boolean אופציונלי
אתרים רגילים.
-
-
origins
[string, ...string[]] אופציונלי
Chrome 74 ואילךאם הרשימה הזו קיימת, יימחקו רק נתונים ממקורות שמופיעים בה. התמיכה זמינה רק לקובצי Cookie, לאחסון ולמטמון. קובצי ה-Cookie נמחקים לכל הדומיין שניתן לרישום.
-
מאז
מספר אופציונלי
הסרת נתונים שנצברו בתאריך הזה או אחריו, שמוצגים באלפיות שנייה מאז ראשית הזמן (אפשר לגשת אליהם באמצעות השיטה
getTimeשל אובייקט JavaScriptDate). אם לא מציינים ערך, ברירת המחדל היא 0 (שמשמעותה הסרת כל נתוני הגלישה).
Methods
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
): Promise<void>
מחיקת סוגים שונים של נתוני גלישה שמאוחסנים בפרופיל של המשתמש.
פרמטרים
-
options
-
dataToRemove
קבוצת סוגי הנתונים להסרה.
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךההבטחה מתקיימת כשהמחיקה מסתיימת.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
): Promise<void>
התמיכה ב-appcache הוסרה. לפונקציה הזו אין השפעה.
מנקה את נתוני מטמון האפליקציות של אתרים.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךהבעיה נפתרת כשנתוני appcache של אתרים נוקו.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
): Promise<void>
מנקה את המטמון של הדפדפן.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךהבעיה נפתרת כשמנקים את המטמון של הדפדפן.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
מחיקת נתוני אחסון במטמון של אתרים.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךהפונקציה הזו מופעלת כשמאחסון המטמון של אתרים נמחקים נתונים.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
): Promise<void>
מחיקת קובצי ה-Cookie בדפדפן והאישורים שקשורים לשרת, ששונו בפרק זמן מסוים.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךהפונקציה הזו מופעלת כשקובצי ה-Cookie של הדפדפן והאישורים שקשורים לשרת נוקו.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
): Promise<void>
מחיקת רשימת הקבצים שהורדו בדפדפן (לא הקבצים עצמם).
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךההבטחה מתקיימת כשמנקים את רשימת הקבצים שהורדו בדפדפן.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
): Promise<void>
מנקה את נתוני מערכת הקבצים של אתרים.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךההבטחה מתקיימת כשמערכות הקבצים של האתרים נוקו.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
): Promise<void>
מנקה את נתוני הטפסים המאוחסנים בדפדפן (מילוי אוטומטי).
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךהפונקציה מסתיימת כשנתוני הטופס של הדפדפן נוקו.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
): Promise<void>
מחיקה של היסטוריית הגלישה בדפדפן.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךההבטחה מתקיימת כשההיסטוריה של הדפדפן נוקתה.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
): Promise<void>
מנקה את נתוני IndexedDB של אתרים.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךההבטחה מתקיימת כשנתוני IndexedDB של אתרים נוקו.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
מחיקת נתונים של אחסון מקומי של אתרים.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךההבטחה מתקיימת כשמנקים את האחסון המקומי של אתרים.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
): Promise<void>
הוסרה התמיכה במחיקת סיסמאות באמצעות תוספים. לפונקציה הזו אין השפעה.
מוחק את הסיסמאות השמורות בדפדפן.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךהפונקציה מחזירה ערך כשהסיסמאות של הדפדפן נוקו.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
): Promise<void>
התמיכה ב-Flash הוסרה. לפונקציה הזו אין השפעה.
מחיקת הנתונים של התוספים.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךההבטחה מתקיימת כשנתוני התוספים נוקו.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
): Promise<void>
מחיקת קובצי שירות (service worker) של אתרים.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךהפונקציה הזו מופעלת כשעובדי השירות של האתרים נוקו.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
): Promise<void>
התמיכה ב-WebSQL הוסרה. לפונקציה הזו אין השפעה.
מחיקת נתוני WebSQL של אתרים.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome 96 ואילךהבעיה נפתרת כשמסירים את מסדי הנתונים של WebSQL באתרים.
ההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).
settings()
chrome.browsingData.settings(
callback?: function,
): Promise<object>
הדוחות מציגים את סוגי הנתונים שנבחרו כרגע בממשק המשתמש של ההגדרות 'ניקוי נתוני הגלישה'. הערה: חלק מסוגי הנתונים שכלולים בממשק ה-API הזה לא זמינים בממשק המשתמש של ההגדרות, וחלק מההגדרות בממשק המשתמש שולטות ביותר מסוג נתונים אחד שמופיע כאן.
פרמטרים
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(result: object) => void
-
תוצאה
אובייקט
-
dataRemovalPermitted
כל הסוגים יופיעו בתוצאה, עם הערך
trueאם מותר להסיר אותם (למשל, לפי מדיניות ארגונית) ועם הערךfalseאם לא. -
dataToRemove
כל הסוגים יופיעו בתוצאה עם הערך
trueאם הם נבחרו להסרה וההסרה שלהם מותרת, אחרת הערך יהיהfalse. -
options
-
-
החזרות
-
Promise<object>
Chrome 96 ואילךההבטחות נתמכות רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).