chrome.browsingData

תיאור

כדי להסיר נתוני גלישה מהפרופיל המקומי של משתמש, משתמשים ב-API של chrome.browsingData.

הרשאות

browsingData

כדי להשתמש ב-API הזה, צריך להצהיר על ההרשאה "browsingData" במניפסט התוסף.

{
  "name": "My extension",
  ...
  "permissions": [
    "browsingData",
  ],
  ...
}

מושגים ושימוש

התרחיש לדוגמה הפשוט ביותר ל-API הזה הוא מנגנון מבוסס-זמן לניקוי נתוני הגלישה של המשתמש. הקוד צריך לכלול חותמת זמן שמציינת את התאריך ההיסטורי שאחריו להסיר את נתוני הגלישה. חותמת הזמן הזו מופיעה בפורמט של מספר אלפיות השנייה מאז תקופה של Unix (ניתן לאחזר מאובייקט 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), כדי שה methods מציעים חלופה קריאה לקריאה שמלאה ב-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.

מאפיינים

  • מטמון אפליקציות

    ערך בוליאני אופציונלי

    אתרים appcaches.

  • קובץ שמור

    ערך בוליאני אופציונלי

    המטמון של הדפדפן.

  • 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[]] אופציונלי

    Chrome מגרסה 74 ואילך

    כשיש כאלה, רק הנתונים של המקורות שברשימה הזו נמחקים. האפשרות נתמכת רק עבור קובצי cookie, אחסון ומטמון. קובצי ה-Cookie נמחקים מכל הדומיין שניתן לרשום.

  • מאז

    מספר אופציונלי

    הסרת נתונים שהצטברו בתאריך הזה או אחריו, מיוצגים באלפיות שנייה מתחילת התקופה (נגיש באמצעות שיטת getTime של אובייקט Date של JavaScript). אם השדה חסר, ברירת המחדל שלו היא 0 (ואז כל נתוני הגלישה יוסרו).

שיטות

remove()

הבטחה
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

ניקוי סוגים שונים של נתוני גלישה ששמורים בפרופיל המשתמש.

פרמטרים

  • אפשרויות
  • dataToRemove

    קבוצה של סוגי נתונים להסרה.

  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeAppcache()

הבטחה
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)

ניקוי האתרים של נתוני appcache.

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeCache()

הבטחה
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)

מנקה את המטמון של הדפדפן.

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeCacheStorage()

הבטחה Chrome מגרסה 72 ואילך
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

ניקוי האתרים של נתוני האחסון במטמון.

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeCookies()

הבטחה
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)

מנקה את קובצי ה-cookie של הדפדפן ואישורים הקשורים לשרת שהשתנו במהלך פרק זמן מסוים.

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeDownloads()

הבטחה
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)

ניקוי של רשימת הדפדפן של הקבצים שהורדו (לא של הקבצים שהורדתם עצמם).

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeFileSystems()

הבטחה
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)

ניקוי האתרים של נתוני מערכת קבצים.

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeFormData()

הבטחה
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)

ניקוי נתוני הטפסים המאוחסנים בדפדפן (מילוי אוטומטי).

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeHistory()

הבטחה
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)

ניקוי ההיסטוריה של הדפדפן.

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeIndexedDB()

הבטחה
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)

ניקוי האתרים נתוני IndexedDB.

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeLocalStorage()

הבטחה
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)

ניקוי האתרים הנתונים של האחסון המקומי.

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removePasswords()

הבטחה
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)

ניקוי הסיסמאות המאוחסנות של הדפדפן.

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removePluginData()

הבטחה הוצא משימוש מאז Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

התמיכה ב-Flash הוסרה. לפונקציה הזו אין השפעה.

מנקה יישומי פלאגין .

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeServiceWorkers()

הבטחה Chrome מגרסה 72 ואילך
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

ניקוי האתרים קובצי שירות (service worker).

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

removeWebSQL()

הבטחה
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)

ניקוי האתרים נתוני WebSQL.

פרמטרים

  • אפשרויות
  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • הבטחה<Empty>

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.

settings()

הבטחה
chrome.browsingData.settings(
  callback?: function,
)

דוחות אילו סוגי נתונים נבחרים כרגע באפשרות 'ניקוי נתוני גלישה' ממשק המשתמש של ההגדרות. הערה: חלק מסוגי הנתונים שכלולים ב-API הזה לא זמינים בממשק המשתמש של ההגדרות, והגדרות מסוימות של ממשק המשתמש שולטות ביותר מסוג אחד של נתונים שמפורט כאן.

פרמטרים

  • קריאה חוזרת (callback)

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (result: object) => void

    • תוצאה

      אובייקט

      • dataRemovalPermitted

        כל הסוגים יופיעו בתוצאה, יחד עם הערכים true אם מותר להסיר אותם (למשל, לפי מדיניות הארגון) ו-false אם לא.

      • dataToRemove

        כל הסוגים יופיעו בתוצאה, יחד עם הערכים true, אם בוחרים להסיר את שניהם ומותר להסיר אותם, אחרת false.

      • אפשרויות

החזרות

  • Promise&lt;object&gt;

    Chrome מגרסה 96 ואילך

    הבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.