chrome.browsingData

תיאור

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

הרשאות

browsingData

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

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

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

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

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

  • קובץ שמור

    boolean אופציונלי

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

  • cacheStorage

    boolean אופציונלי

    Chrome 72 ואילך

    אחסון המטמון

  • קובצי cookie

    boolean אופציונלי

    קובצי ה-Cookie של הדפדפן.

  • הורדות

    boolean אופציונלי

    רשימת ההורדות של הדפדפן.

  • fileSystems

    boolean אופציונלי

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

  • formData

    boolean אופציונלי

    נתוני הטפסים שמאוחסנים בדפדפן.

  • היסטוריה

    boolean אופציונלי

    ההיסטוריה בדפדפן.

  • indexedDB

    boolean אופציונלי

    נתוני IndexedDB של אתרים.

  • localStorage

    boolean אופציונלי

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

  • סיסמאות

    boolean אופציונלי

    הוצא משימוש

    הוסר התמיכה במחיקת סיסמאות דרך תוספים. המערכת תתעלם מסוג הנתונים הזה.

    סיסמאות שמורות.

  • pluginData

    boolean אופציונלי

    הוצא משימוש מאז Chrome 88

    התמיכה ב-Flash הוסרה. המערכת תתעלם מסוג הנתונים הזה.

    נתונים של יישומי פלאגין.

  • serverBoundCertificates

    boolean אופציונלי

    הוצא משימוש מאז Chrome 76

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

    אישורים שקשורים לשרת.

  • serviceWorkers

    boolean אופציונלי

    קובצי שירות (service worker).

  • webSQL

    boolean אופציונלי

    נתוני WebSQL של אתרים.

RemovalOptions

אפשרויות שקובעות בדיוק אילו נתונים יוסרו.

מאפיינים

  • excludeOrigins

    string[] אופציונלי

    Chrome 74 ואילך

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

  • originTypes

    אובייקט אופציונלי

    אובייקט שהמאפיינים שלו מציינים אילו סוגי מקורות צריך לנקות. אם לא מציינים את האובייקט הזה, ברירת המחדל היא ניקוי רק של מקורות 'לא מוגנים'. לפני שמוסיפים את protectedWeb או extensions, חשוב לוודא שבאמת רוצים להסיר את נתוני האפליקציה.

    • תוסף

      boolean אופציונלי

      תוספים ואפליקציות ארוזות שהמשתמש התקין (צריך להיזהר מאוד!).

    • protectedWeb

      boolean אופציונלי

      אתרים שהותקנו כאפליקציות מארחות (חשוב להיזהר!).

    • unprotectedWeb

      boolean אופציונלי

      אתרים רגילים.

  • מקורות

    ‫[string, ...string[]] אופציונלי

    Chrome 74 ואילך

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

  • מאז

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

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

Methods

remove()

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

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeAppcache()

chrome.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeCache()

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

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeCacheStorage()

Chrome 72 ואילך
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeCookies()

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

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeDownloads()

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

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeFileSystems()

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

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeFormData()

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

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeHistory()

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

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeIndexedDB()

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

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeLocalStorage()

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

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removePasswords()

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

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

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removePluginData()

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

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

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeServiceWorkers()

Chrome 72 ואילך
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

removeWebSQL()

chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

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

פרמטרים

החזרות

  • Promise<void>

    Chrome 96 ואילך

settings()

chrome.browsingData.settings(): Promise<object>

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

החזרות

  • Promise<object>

    Chrome 96 ואילך