תיאור
כדי להסיר נתוני גלישה מהפרופיל המקומי של המשתמש, יש להשתמש ב-chrome.browsingData
API.
הרשאות
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;
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 הזה, התקינו את הדוגמה של BrowseData API מהמאגר chrome-extension-samples.
סוגים
DataTypeSet
קבוצה של סוגי נתונים. סוגי נתונים חסרים מפוענחים כ-false
.
תכונות
-
מטמון האפליקציה
בוליאני אופציונלי
קובצי מטמון של אתרים.
-
קובץ שמור
בוליאני אופציונלי
במטמון הדפדפן.
-
cacheStorage
בוליאני אופציונלי
Chrome 72 ומעלהאחסון המטמון
-
קובצי cookie
בוליאני אופציונלי
קובצי ה-Cookie של הדפדפן.
-
הורדות
בוליאני אופציונלי
רשימת ההורדות של הדפדפן.
-
fileSystems
בוליאני אופציונלי
מערכות הקבצים של אתרים.
-
formData
בוליאני אופציונלי
נתוני הטופס המאוחסנים בדפדפן.
-
היסטוריה
בוליאני אופציונלי
היסטוריית הדפדפן.
-
indexedDB
בוליאני אופציונלי
נתוני IndexedDB של אתרים.
-
localStorage
בוליאני אופציונלי
נתוני האחסון המקומי של אתרים.
-
סיסמאות
בוליאני אופציונלי
סיסמאות שנשמרו.
-
pluginData
בוליאני אופציונלי
הוצא משימוש מאז Chrome 88התמיכה ב-Flash הוסרה. המערכת תתעלם מסוג הנתונים הזה.
נתונים של יישומי פלאגין.
-
serverBoundCertificates
בוליאני אופציונלי
הוצא משימוש מאז Chrome 76התמיכה באישורים מאוגדים לשרת הוסרה. המערכת תתעלם מסוג הנתונים הזה.
אישורים מאוגדים לשרת.
-
serviceWorkers
בוליאני אופציונלי
קובצי שירות (service worker).
-
webSQL
בוליאני אופציונלי
נתוני WebSQL של אתרים.
RemovalOptions
אפשרויות שקובעות אילו נתונים בדיוק יוסרו.
תכונות
-
excludeOrigins
string[] אופציונלי
Chrome 74 ומעלהאם קיימים נתונים של מקורות ברשימה הזו, הם לא נכללים במחיקה. לא ניתן להשתמש בשילוב עם
origins
. נתמך רק עבור קובצי cookie, אחסון ומטמון. קובצי cookie אינם נכללים בכל הדומיין שניתן לרשום. -
originTypes
אובייקט אופציונלי
אובייקט שהמאפיינים שלו מציינים את סוגי המקורות שצריך לנקות. אם האובייקט הזה לא יצוין, כברירת מחדל המערכת תמחק רק מקורות 'לא מוגנים'. חשוב לוודא באמת להסיר את נתוני האפליקציה לפני שמוסיפים 'ProtectWeb' או 'extensions'.
-
תוסף
בוליאני אופציונלי
תוספים ואפליקציות ארוזות שהמשתמש התקין (זהירות!).
-
protectedWeb
בוליאני אופציונלי
אתרים שהותקנו כאפליקציות מתארחות (זהירות!).
-
unprotectedWeb
בוליאני אופציונלי
אתרים רגילים.
-
-
מקורות
string[] אופציונלי
Chrome 74 ומעלהאם הרשימה קיימת, רק הנתונים של המקורות שברשימה הזו נמחקים. נתמך רק עבור קובצי cookie, אחסון ומטמון. קובצי ה-cookie נמחקים מכל הדומיין שניתן לרשום.
-
מאז
מספר אופציונלי
הסר נתונים שהצטברו בתאריך זה או אחריו, המיוצגים באלפיות שנייה מאז תחילת התהליך (נגיש באמצעות שיטת
getTime
של אובייקטDate
של JavaScript). אם השדה חסר, ברירת המחדל שלו היא 0 (פעולה זו תסיר את כל נתוני הגלישה).
שיטות
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
)
ניקוי סוגים שונים של נתוני גלישה המאוחסנים בפרופיל המשתמש.
פרמטרים
-
אפשרויות
-
dataToRemove
קבוצת סוגי הנתונים להסרה.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני מטמון האפליקציה באתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
)
ניקוי המטמון בדפדפן.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני אחסון במטמון של אתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
)
מנקה את קובצי ה-Cookie של הדפדפן ואת האישורים הקשורים לשרת שהשתנו במסגרת זמן מסוימת.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
)
ניקוי רשימת הקבצים שהורדו בדפדפן (לא הקבצים שהורדו עצמם).
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני מערכת קבצים של אתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
)
מנקה את נתוני הטופס המאוחסנים בדפדפן (מילוי אוטומטי).
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
)
ניקוי של היסטוריית הדפדפן.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני IndexedDB של אתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני האחסון המקומי של אתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
)
ניקוי הסיסמאות המאוחסנות בדפדפן.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
)
התמיכה ב-Flash הוסרה. לפונקציה הזו אין השפעה.
ניקוי הנתונים של יישומי הפלאגין.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
ניקוי קובצי שירות (service worker) של אתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
)
ניקוי נתוני WebSQL של אתרים.
פרמטרים
-
אפשרויות
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:()=>void
החזרות
-
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
settings()
chrome.browsingData.settings(
callback?: function,
)
דוחות על סוגי הנתונים שנבחרו בשלב זה בממשק המשתמש של ההגדרות 'ניקוי נתוני גלישה'. הערה: חלק מסוגי הנתונים הכלולים ב-API הזה לא זמינים בממשק המשתמש של ההגדרות, והגדרות מסוימות של ממשק המשתמש שולטות ביותר מסוג נתונים אחד שמפורט כאן.
פרמטרים
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(result: object)=>void
-
תוצאה אחת
אובייקט
-
dataRemovalPermitted
כל הסוגים יופיעו בתוצאה, עם הערכים של
true
אם מותר להסיר אותם (למשל, בהתאם למדיניות הארגון) ו-false
אם לא. -
dataToRemove
כל הסוגים יופיעו בתוצאה, עם הערכים
true
אם שניהם נבחרו להסרה ומותר להסיר אותם, אחרתfalse
. -
אפשרויות
-
-
החזרות
-
Promise<object>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.