توضیحات
از API chrome.browsingData برای حذف دادههای مرور از پروفایل محلی کاربر استفاده کنید.
مجوزها
browsingDataمانیفست
برای استفاده از این API، باید مجوز "browsingData" را در فایل manifest افزونه تعریف کنید.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
کاربرد
سادهترین مورد استفاده برای این API، یک مکانیزم مبتنی بر زمان برای پاک کردن دادههای مرور کاربر است. کد شما باید یک برچسب زمانی ارائه دهد که نشان دهنده تاریخ تاریخی است که پس از آن دادههای مرور کاربر باید حذف شوند. این برچسب زمانی به صورت تعداد میلیثانیهها از زمان آغاز یونیکس (که میتواند از طریق متد getTime از یک شیء Date جاوا اسکریپت بازیابی شود) قالببندی میشود.
برای مثال، برای پاک کردن تمام دادههای مرور کاربر از هفته گذشته، میتوانید کد را به صورت زیر بنویسید:
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 به شما امکان میدهد انواع مختلف دادههای مرور را با یک فراخوانی حذف کنید و بسیار سریعتر از فراخوانی چندین متد خاصتر خواهد بود. با این حال، اگر فقط میخواهید یک نوع خاص از دادههای مرور (مثلاً کوکیها) را پاک کنید، متدهای جزئیتر، جایگزین خوانایی برای فراخوانی پر از 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 ممکن است پس از پاک کردن کوکی حساب Sync، آن را بهطور خودکار بازسازی کند. این کار برای اطمینان از ادامهی کار Sync و در نهایت حذف دادهها از سرور است. با این حال، میتوان از chrome.browsingData.removeCookies که خاصتر است برای پاک کردن کوکی حساب Sync استفاده کرد و در این حالت، Sync متوقف میشود.
ریشههای خاص
برای حذف دادهها برای یک مبدأ خاص یا مستثنی کردن مجموعهای از مبدأها از حذف، میتوانید از پارامترهای RemovalOptions.origins و RemovalOptions.excludeOrigins استفاده کنید. آنها فقط میتوانند روی کوکیها، حافظه پنهان و فضای ذخیرهسازی (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 به شیء options در API به شما این امکان را میدهد که مشخص کنید کدام نوع از originها باید اعمال شوند. در حال حاضر، originها به سه دسته تقسیم میشوند:
-
unprotectedWebحالت کلی وبسایتهایی را پوشش میدهد که کاربران بدون انجام هیچ اقدام خاصی از آنها بازدید میکنند. اگرoriginTypesرا مشخص نکنید، API به طور پیشفرض دادهها را از مبدأهای وب محافظت نشده حذف میکند. -
protectedWebآن دسته از منابع وب را که به عنوان برنامههای میزبانی شده نصب شدهاند، پوشش میدهد. به عنوان مثال، نصب Angry Birds ، منبعhttps://chrome.angrybirds.comرا محافظت میکند و آن را از دستهunprotectedWebحذف میکند. لطفاً هنگام حذف دادهها برای این منابع مراقب باشید: مطمئن شوید که کاربران شما میدانند چه چیزی دریافت میکنند، زیرا این کار دادههای بازی آنها را به طور غیرقابل برگشت حذف میکند. هیچ کس نمیخواهد خانههای کوچک خوک را بیش از حد لازم خراب کند. -
extensionorigins را تحت طرح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 تفسیر میشوند.
خواص
- اپکَش
بولی اختیاری
حافظههای برنامهی وبسایتها.
- حافظه نهان
بولی اختیاری
حافظه پنهان مرورگر.
- حافظه پنهان
بولی اختیاری
کروم ۷۲+حافظه پنهان (کش)
- کوکیها
بولی اختیاری
کوکیهای مرورگر.
- دانلودها
بولی اختیاری
لیست دانلودهای مرورگر.
- سیستمهای فایل
بولی اختیاری
سیستمهای فایل وبسایتها
- فرم داده
بولی اختیاری
دادههای فرم ذخیره شده توسط مرورگر.
- تاریخ
بولی اختیاری
تاریخچه مرورگر.
- پایگاه داده فهرست شده
بولی اختیاری
دادههای IndexedDB وبسایتها.
- ذخیرهسازی محلی
بولی اختیاری
دادههای ذخیرهسازی محلی وبسایتها.
- رمزهای عبور
بولی اختیاری
منسوخ شدهپشتیبانی از حذف رمز عبور از طریق افزونهها حذف شده است. این نوع داده نادیده گرفته خواهد شد.
رمزهای عبور ذخیره شده
- افزونه داده
بولی اختیاری
از کروم ۸۸ منسوخ شده استپشتیبانی از فلش حذف شده است. این نوع داده نادیده گرفته خواهد شد.
دادههای افزونهها.
- گواهینامههای serverBound
بولی اختیاری
از کروم ۷۶ منسوخ شده استپشتیبانی از گواهیهای متصل به سرور حذف شده است. این نوع داده نادیده گرفته خواهد شد.
گواهیهای متصل به سرور
- سرویس ورکرها
بولی اختیاری
کارگران خدماتی.
- وب اس کیو ال
بولی اختیاری
دادههای WebSQL وبسایتها.
RemovalOptions
گزینههایی که دقیقاً مشخص میکنند چه دادههایی حذف خواهند شد.
خواص
- مستثنی کردن ریشهها
رشته[] اختیاری
کروم ۷۴+در صورت وجود، دادههای مربوط به مبدأها در این لیست از حذف مستثنی هستند. نمیتوان آنها را همراه با
originsاستفاده کرد. فقط برای کوکیها، فضای ذخیرهسازی و حافظه پنهان پشتیبانی میشوند. کوکیها برای کل دامنه قابل ثبت مستثنی هستند. - انواع مبدا
شیء اختیاری
شیءای که ویژگیهای آن مشخص میکند کدام نوع مبدأ باید پاک شود. اگر این شیء مشخص نشده باشد، به طور پیشفرض فقط مبدأهای «محافظت نشده» را پاک میکند. لطفاً قبل از افزودن «protectedWeb» یا «extensions»، مطمئن شوید که واقعاً میخواهید دادههای برنامه را حذف کنید.
- پسوند
بولی اختیاری
افزونهها و برنامههای کاربردی بستهبندیشدهای که کاربر نصب کرده است (واقعاً مراقب باشید!).
- وب محافظتشده
بولی اختیاری
وبسایتهایی که به عنوان برنامههای میزبانی شده نصب شدهاند (مراقب باشید!).
- وب محافظت نشده
بولی اختیاری
وبسایتهای معمولی.
- خاستگاهها
[رشته، ...رشته[]] اختیاری
کروم ۷۴+در صورت وجود، فقط دادههای مربوط به مبداهای موجود در این لیست حذف میشوند. فقط برای کوکیها، فضای ذخیرهسازی و حافظه پنهان پشتیبانی میشوند. کوکیها برای کل دامنه قابل ثبت پاک میشوند.
- از آنجایی که
شماره اختیاری
دادههای انباشتهشده در یا بعد از این تاریخ، که از زمان epoch بر حسب میلیثانیه نمایش داده میشوند را حذف کنید (از طریق متد
getTimeاز شیءDateجاوا اسکریپت قابل دسترسی است). در صورت عدم وجود، مقدار پیشفرض 0 است (که تمام دادههای مرور را حذف میکند).
روشها
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
): Promise<void>
انواع مختلف دادههای مرور ذخیره شده در پروفایل کاربر را پاک میکند.
پارامترها
- گزینهها
- حذف داده
مجموعه انواع دادهای که باید حذف شوند.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
): Promise<void>
دادههای appcache وبسایتها را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
): Promise<void>
حافظه پنهان مرورگر را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
دادههای ذخیرهسازی کش وبسایتها را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
): Promise<void>
کوکیهای مرورگر و گواهیهای متصل به سرور که در یک بازه زمانی خاص تغییر یافتهاند را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
): Promise<void>
لیست فایلهای دانلود شده مرورگر را پاک میکند ( نه خود فایلهای دانلود شده).
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
): Promise<void>
دادههای سیستم فایل وبسایتها را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
): Promise<void>
دادههای فرم ذخیرهشده در مرورگر را پاک میکند (تکمیل خودکار).
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
): Promise<void>
تاریخچه مرورگر را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
): Promise<void>
دادههای IndexedDB وبسایتها را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
دادههای ذخیرهسازی محلی وبسایتها را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
): Promise<void>
پشتیبانی از حذف رمز عبور از طریق افزونهها حذف شده است. این عملکرد هیچ تاثیری ندارد.
رمزهای عبور ذخیره شده مرورگر را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
): Promise<void>
پشتیبانی از فلش حذف شده است. این عملکرد هیچ تاثیری ندارد.
دادههای افزونهها را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
): Promise<void>
سرویس ورکرهای وبسایتها را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
): Promise<void>
دادههای WebSQL وبسایتها را پاک میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
settings()
chrome.browsingData.settings(
callback?: function,
): Promise<object>
گزارش میدهد که در حال حاضر کدام نوع دادهها در رابط کاربری تنظیمات «پاک کردن دادههای مرور» انتخاب شدهاند. توجه: برخی از انواع دادههای موجود در این API در رابط کاربری تنظیمات موجود نیستند و برخی از تنظیمات رابط کاربری بیش از یک نوع داده ذکر شده در اینجا را کنترل میکنند.
پارامترها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(result: object) => void
- نتیجه
شیء
- حذف دادههامجاز
همه انواع در نتیجه حضور خواهند داشت، و اگر مجاز به حذف باشند (مثلاً توسط سیاست سازمانی) مقادیر
trueو در غیر این صورتfalseرا خواهند داشت. - حذف داده
همه انواع در نتیجه حضور خواهند داشت، و اگر هر دو برای حذف انتخاب شده باشند و اجازه حذف آنها داده شده باشد، مقادیر
trueو در غیر این صورتfalse. - گزینهها
بازگشتها
قول دادن<object>
کروم ۹۶+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.