chrome.browsingData (original) (raw)
توضیحات
از API chrome.browsingData برای حذف دادههای مرور از پروفایل محلی کاربر استفاده کنید.
مجوزها
browsingData
برای استفاده از این API، باید مجوز "browsingData" را در فایل manifest افزونه تعریف کنید.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
مفاهیم و کاربردها
سادهترین مورد استفاده برای این API، یک مکانیزم مبتنی بر زمان برای پاک کردن دادههای مرور کاربر است. کد شما باید یک برچسب زمانی ارائه دهد که نشان دهنده تاریخ تاریخی باشد که پس از آن دادههای مرور کاربر باید حذف شوند. این برچسب زمانی به صورت تعداد میلیثانیهها از زمان آغاز یونیکس (که میتواند از یک شیء 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() به شما امکان میدهد انواع مختلف دادههای مرور را با یک فراخوانی حذف کنید و بسیار سریعتر از فراخوانی چندین متد خاصتر خواهد بود. با این حال، اگر فقط میخواهید یک نوع خاص از دادههای مرور (مثلاً کوکیها) را پاک کنید، متدهای جزئیتر، جایگزین خوانایی برای فراخوانی پر از 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 به شیء گزینههای 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,
): Promise
انواع مختلف دادههای مرور ذخیره شده در پروفایل کاربر را پاک میکند.
پارامترها
- مجموعه انواع دادهای که باید حذف شوند.
بازگشتها
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
): Promise
دادههای appcache وبسایتها را پاک میکند.
پارامترها
بازگشتها
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
): Promise
حافظه پنهان مرورگر را پاک میکند.
پارامترها
بازگشتها
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
): Promise
دادههای ذخیرهسازی کش وبسایتها را پاک میکند.
پارامترها
بازگشتها
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
): Promise
کوکیهای مرورگر و گواهیهای متصل به سرور که در یک بازه زمانی خاص تغییر یافتهاند را پاک میکند.
پارامترها
بازگشتها
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
): Promise
لیست فایلهای دانلود شده مرورگر را پاک میکند ( نه خود فایلهای دانلود شده).
پارامترها
بازگشتها
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
): Promise
دادههای سیستم فایل وبسایتها را پاک میکند.
پارامترها
بازگشتها
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
): Promise
دادههای فرم ذخیرهشده در مرورگر را پاک میکند (تکمیل خودکار).
پارامترها
بازگشتها
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
): Promise
تاریخچه مرورگر را پاک میکند.
پارامترها
بازگشتها
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
): Promise
دادههای IndexedDB وبسایتها را پاک میکند.
پارامترها
بازگشتها
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
): Promise
دادههای ذخیرهسازی محلی وبسایتها را پاک میکند.
پارامترها
بازگشتها
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
): Promise
پشتیبانی از حذف رمز عبور از طریق افزونهها حذف شده است. این عملکرد هیچ تاثیری ندارد.
رمزهای عبور ذخیره شده مرورگر را پاک میکند.
پارامترها
بازگشتها
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
): Promise
پشتیبانی از فلش حذف شده است. این عملکرد هیچ تاثیری ندارد.
دادههای افزونهها را پاک میکند.
پارامترها
بازگشتها
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise
سرویس ورکرهای وبسایتها را پاک میکند.
پارامترها
بازگشتها
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
): Promise
دادههای WebSQL وبسایتها را پاک میکند.
پارامترها
بازگشتها
settings()
chrome.browsingData.settings(): Promise
گزارش میدهد که در حال حاضر کدام نوع دادهها در رابط کاربری تنظیمات «پاک کردن دادههای مرور» انتخاب شدهاند. توجه: برخی از انواع دادههای موجود در این API در رابط کاربری تنظیمات موجود نیستند و برخی از تنظیمات رابط کاربری بیش از یک نوع داده ذکر شده در اینجا را کنترل میکنند.