chrome.browsingData

תיאור

משתמשים ב-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 אופציונלי

    הוצא משימוש

    התמיכה ב-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 אופציונלי

    הוצא משימוש

    התמיכה ב-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 של אובייקט JavaScript Date). אם לא מציינים ערך, ברירת המחדל היא 0 (שמשמעותה הסרת כל נתוני הגלישה).

Methods

remove()

Promise
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • options
  • dataToRemove

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

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

    ההבטחה מתקיימת כשהמחיקה מסתיימת.

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeAppcache()

Promise הוצא משימוש
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

מנקה את נתוני מטמון האפליקציות של אתרים.

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

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

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeCache()

Promise
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

    הבעיה נפתרת כשמנקים את המטמון של הדפדפן.

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeCacheStorage()

Promise Chrome 72+
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

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

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeCookies()

Promise
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

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

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeDownloads()

Promise
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

    ההבטחה מתקיימת כשמנקים את רשימת הקבצים שהורדו בדפדפן.

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeFileSystems()

Promise
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

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

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeFormData()

Promise
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

    ההבטחה מתקיימת כשנתוני הטופס של הדפדפן נוקו.

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeHistory()

Promise
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

מחיקה של היסטוריית הגלישה בדפדפן.

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

    ההבטחה מתקיימת כשההיסטוריה של הדפדפן נוקתה.

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeIndexedDB()

Promise
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

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

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeLocalStorage()

Promise
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

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

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removePasswords()

Promise הוצא משימוש מאז Chrome 144
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

מחיקת הסיסמאות השמורות בדפדפן.

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

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

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removePluginData()

Promise הוצא משימוש מאז Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

מחיקת הנתונים של התוספים.

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

    ההבטחה מתקיימת כשנתוני התוספים נוקו.

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeServiceWorkers()

Promise Chrome 72+
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

מחיקת קובצי שירות (service worker) של אתרים.

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

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

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

removeWebSQL()

Promise הוצא משימוש
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

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

פרמטרים

  • options
  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 96 ואילך

    הבעיה נפתרת כשמסירים את מסדי הנתונים של WebSQL באתרים.

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

settings()

Promise
chrome.browsingData.settings(
  callback?: function,
)
: Promise<object>

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

פרמטרים

  • callback

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

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

    (result: object) => void

    • תוצאה

      אובייקט

      • dataRemovalPermitted

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

      • dataToRemove

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

      • options

החזרות

  • Promise<object>

    Chrome 96 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.