תיאור
אפשר להשתמש ב-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>
מחיקה של סוגים שונים של נתוני גלישה שמאוחסנים בפרופיל של המשתמש.
פרמטרים
-
אפשרויות
-
dataToRemove
קבוצת סוגי הנתונים שרוצים להסיר.
החזרות
-
Promise<void>
Chrome 96 ואילך browser.* מגרסה 148 של Chromeההבטחה מתקיימת כשהמחיקה מסתיימת.
removeAppcache()
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()
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()
browser.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
הוסרה התמיכה במחיקת סיסמאות באמצעות תוספים. לפונקציה הזו אין השפעה.
מחיקת הסיסמאות ששמורות בדפדפן.
פרמטרים
-
אפשרויות
החזרות
-
Promise<void>
Chrome 96 ואילך browser.* מגרסה 148 של Chromeהפעולה מסתיימת כשהסיסמאות בדפדפן נמחקות.
removePluginData()
browser.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
התמיכה ב-Flash הוסרה. לפונקציה הזו אין השפעה.
מחיקת נתונים של פלאגינים.
פרמטרים
-
אפשרויות
החזרות
-
Promise<void>
Chrome 96 ואילך browser.* מגרסה 148 של Chromeההבטחה מתקיימת כשנתוני הפלאגינים נמחקים.
removeServiceWorkers()
browser.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
מנקה את קובצי השירות (Service Workers) של האתרים.
פרמטרים
-
אפשרויות
החזרות
-
Promise<void>
Chrome 96 ואילך browser.* מגרסה 148 של Chromeהפעולה מסתיימת כשמנקים את ה-service workers של האתרים.
removeWebSQL()
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