chrome.browsingData

توضیحات

از 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 حذف می‌کند. هنگام حذف داده‌ها برای این منابع مراقب باشید: مطمئن شوید که کاربران شما می‌دانند چه چیزی دریافت می‌کنند، زیرا این کار داده‌های بازی آنها را به طور غیرقابل برگشت حذف می‌کند. هیچ کس نمی‌خواهد خانه‌های کوچک خوک را بیش از حد لازم خراب کند.
  • extension origins را تحت طرح 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<void>

انواع مختلف داده‌های مرور ذخیره شده در پروفایل کاربر را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeAppcache()

chrome.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

داده‌های appcache وب‌سایت‌ها را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeCache()

chrome.browsingData.removeCache(
  options: RemovalOptions,
)
: Promise<void>

حافظه پنهان مرورگر را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeCacheStorage()

کروم ۷۲+
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

داده‌های ذخیره‌سازی کش وب‌سایت‌ها را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeCookies()

chrome.browsingData.removeCookies(
  options: RemovalOptions,
)
: Promise<void>

کوکی‌های مرورگر و گواهی‌های متصل به سرور که در یک بازه زمانی خاص تغییر یافته‌اند را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeDownloads()

chrome.browsingData.removeDownloads(
  options: RemovalOptions,
)
: Promise<void>

لیست فایل‌های دانلود شده مرورگر را پاک می‌کند ( نه خود فایل‌های دانلود شده).

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeFileSystems()

chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
)
: Promise<void>

داده‌های سیستم فایل وب‌سایت‌ها را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeFormData()

chrome.browsingData.removeFormData(
  options: RemovalOptions,
)
: Promise<void>

داده‌های فرم ذخیره‌شده در مرورگر را پاک می‌کند (تکمیل خودکار).

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeHistory()

chrome.browsingData.removeHistory(
  options: RemovalOptions,
)
: Promise<void>

تاریخچه مرورگر را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeIndexedDB()

chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
)
: Promise<void>

داده‌های IndexedDB وب‌سایت‌ها را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeLocalStorage()

chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
)
: Promise<void>

داده‌های ذخیره‌سازی محلی وب‌سایت‌ها را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removePasswords()

منسوخ شده
chrome.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

پشتیبانی از حذف رمز عبور از طریق افزونه‌ها حذف شده است. این عملکرد هیچ تاثیری ندارد.

رمزهای عبور ذخیره شده مرورگر را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removePluginData()

از کروم ۸۸ منسوخ شده است
chrome.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

پشتیبانی از فلش حذف شده است. این عملکرد هیچ تاثیری ندارد.

داده‌های افزونه‌ها را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeServiceWorkers()

کروم ۷۲+
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

سرویس ورکرهای وب‌سایت‌ها را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

removeWebSQL()

chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

داده‌های WebSQL وب‌سایت‌ها را پاک می‌کند.

پارامترها

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

settings()

chrome.browsingData.settings(): Promise<object>

گزارش می‌دهد که در حال حاضر کدام نوع داده‌ها در رابط کاربری تنظیمات «پاک کردن داده‌های مرور» انتخاب شده‌اند. توجه: برخی از انواع داده‌های موجود در این API در رابط کاربری تنظیمات موجود نیستند و برخی از تنظیمات رابط کاربری بیش از یک نوع داده ذکر شده در اینجا را کنترل می‌کنند.

بازگشت‌ها

  • قول دادن<object>

    کروم ۹۶+