browser.browsingData

תיאור

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

הרשאות

browsingData

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

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

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

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

השיטה browser.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;
browser.browsingData.removeCookies({
  "since": oneWeekAgo
}, callback);

אם המשתמש מסנכרן את הנתונים שלו, יכול להיות ש-browser.browsingData.remove() יבנה מחדש באופן אוטומטי את קובץ ה-Cookie של חשבון הסנכרון אחרי שהוא יימחק. כך אפשר להבטיח שהסנכרון ימשיך לפעול, כדי שבסופו של דבר הנתונים יימחקו בשרת. עם זאת, אפשר להשתמש ב-browser.browsingData.removeCookies() הספציפי יותר כדי למחוק את קובץ ה-Cookie של חשבון הסנכרון, ובמקרה כזה הסנכרון יושהה.

מקורות ספציפיים

כדי להסיר נתונים של מקור ספציפי או להחריג קבוצה של מקורות מהמחיקה, אתם יכולים להשתמש בפרמטרים RemovalOptions.origins ו-RemovalOptions.excludeOrigins. אפשר להחיל אותם רק על קובצי Cookie, מטמון ואחסון (CacheStorage,‏ FileSystems,‏ IndexedDB,‏ LocalStorage,‏ ServiceWorkers ו-WebSQL).

browser.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;
browser.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

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

    הוצא משימוש ב-Chrome 152

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

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

  • קובץ שמור

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

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

  • cacheStorage

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

    ‫Chrome מגרסה 72 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

    אחסון המטמון

  • קובצי cookie

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

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

  • הורדות

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

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

  • fileSystems

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

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

  • formData

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

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

  • היסטוריה

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

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

  • indexedDB

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

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

  • localStorage

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

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

  • סיסמאות

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

    הוצאה משימוש בגרסה Chrome 144

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

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

  • pluginData

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

    הוצא משימוש בגרסה Chrome 88

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

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

  • serverBoundCertificates

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

    הוצא משימוש בגרסה Chrome 76

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

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

  • serviceWorkers

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

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

  • webSQL

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

    הוצא משימוש ב-Chrome 152

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

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

RemovalOptions

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

מאפיינים

  • excludeOrigins

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

    Chrome 74 ואילך browser.* ‎ מ-Chrome 148

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

  • originTypes

    object optional

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

    • תוסף

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

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

    • protectedWeb

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

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

    • unprotectedWeb

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

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

  • מקורות

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

    Chrome 74 ואילך browser.* ‎ מ-Chrome 148

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

  • מאז

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

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

Methods

remove()

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removeAppcache()

הוצא משימוש ב-Chrome 152
browser.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removeCache()

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removeCacheStorage()

‫Chrome מגרסה 72 ואילך ‫browser.* ‎ מגרסה 148 של Chrome
browser.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removeCookies()

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removeDownloads()

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removeFileSystems()

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removeFormData()

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removeHistory()

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removeIndexedDB()

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removeLocalStorage()

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removePasswords()

הוצאה משימוש בגרסה Chrome 144
browser.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removePluginData()

הוצא משימוש בגרסה Chrome 88
browser.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

removeServiceWorkers()

‫Chrome מגרסה 72 ואילך ‫browser.* ‎ מגרסה 148 של Chrome
browser.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

    הפעולה מסתיימת כשמנקים את ה-service workers של האתרים.

removeWebSQL()

הוצא משימוש ב-Chrome 152
browser.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

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

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

פרמטרים

החזרות

  • Promise<void>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

settings()

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

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

החזרות

  • Promise<object>

    ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome