תיאור
משתמשים ב-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
של אובייקט JavaScriptDate
). אם לא מציינים ערך, ברירת המחדל היא 0 (שמשמעותה הסרת כל נתוני הגלישה).
Methods
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
): Promise<void>
מחיקת סוגים שונים של נתוני גלישה שמאוחסנים בפרופיל של המשתמש.
פרמטרים
- options
- dataToRemove
קבוצת סוגי הנתונים להסרה.
החזרות
-
Promise<void>
Chrome 96 ואילך
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
): Promise<void>
מנקה את נתוני מטמון האפליקציות של אתרים.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
): Promise<void>
מנקה את המטמון של הדפדפן.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
): Promise<void>
מחיקת נתוני אחסון במטמון של אתרים.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
): Promise<void>
מחיקת קובצי ה-Cookie בדפדפן והאישורים שקשורים לשרת, ששונו במסגרת זמן מסוימת.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
): Promise<void>
מחיקת רשימת הקבצים שהורדו בדפדפן (לא הקבצים עצמם).
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
): Promise<void>
מנקה את נתוני מערכת הקבצים של אתרים.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
): Promise<void>
מנקה את נתוני הטפסים המאוחסנים בדפדפן (מילוי אוטומטי).
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
): Promise<void>
ניקוי של היסטוריית הדפדפן.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
): Promise<void>
מנקה את נתוני IndexedDB של אתרים.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
): Promise<void>
מחיקת נתונים של אחסון מקומי של אתרים.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
מוחק את הסיסמאות השמורות בדפדפן.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
התמיכה ב-Flash הוסרה. לפונקציה הזו אין השפעה.
מחיקת הנתונים של תוספים.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
מחיקת קובצי שירות (service worker) של אתרים.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
): Promise<void>
מנקה את נתוני WebSQL של אתרים.
פרמטרים
- options
החזרות
-
Promise<void>
Chrome 96 ואילך
settings()
chrome.browsingData.settings(): Promise<object>
הדוח מציג את סוגי הנתונים שנבחרו כרגע בממשק המשתמש של ההגדרות 'ניקוי נתוני הגלישה'. הערה: חלק מסוגי הנתונים שנכללים בממשק ה-API הזה לא זמינים בממשק המשתמש של ההגדרות, וחלק מההגדרות בממשק המשתמש שולטות ביותר מסוג נתונים אחד שמופיע כאן.
החזרות
-
Promise<object>
Chrome 96 ואילך