browser.browsingData

شرح

از chrome.browsingData API برای برداشتن داده‌های مرور از نمایه محلی کاربر استفاده کنید.

اجازه‌ها

browsingData

برای استفاده از این میانای برنامه‌سازی کاربردی، باید اجازه "browsingData" را در مانیفست افزونه اعلام کنید.

{
  "name": "My extension",
  ...
  "permissions": [
    "browsingData",
  ],
  ...
}

مفاهیم و کاربرد

ساده‌ترین مورد استفاده برای این میانای برنامه‌سازی کاربردی، سازوکاری مبتنی بر زمان برای پاک کردن داده‌های مرور کاربر است. کد شما باید مُهر زمانی ارائه دهد که تاریخ گذشته‌ای را نشان دهد که پس‌از آن داده‌های مرور کاربر باید برداشته شود. این مُهر زمان به‌صورت تعداد میلی‌ثانیه‌ها از تاریخ یونیکس قالب‌بندی شده است (که می‌توان آن را از شیء 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;
browser.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);

روش browser.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;
browser.browsingData.removeCookies({
  "since": oneWeekAgo
}, callback);

اگر کاربر درحال همگام‌سازی داده‌هایش باشد، browser.browsingData.remove() ممکن است پس‌از پاک کردن کوکی، آن را به‌طور خودکار برای حساب «همگام‌سازی» بازسازی کند. این کار برای اطمینان از این است که «همگام‌سازی» بتواند به کار خود ادامه دهد تا داده‌ها درنهایت از سرور حذف شوند. بااین‌حال، از browser.browsingData.removeCookies() خاص‌تر می‌توان برای پاک کردن کوکی حساب «همگام‌سازی» استفاده کرد و در این حالت، «همگام‌سازی» موقتاً متوقف خواهد شد.

مبدأهای خاص

برای برداشتن داده‌های مربوط به مبدأی خاص یا برای مستثنی کردن مجموعه‌ای از مبدأها از حذف، می‌توانید از پارامترهای RemovalOptions.origins و RemovalOptions.excludeOrigins استفاده کنید. این تنظیمات فقط برای کوکی‌ها، حافظه پنهان، و فضای ذخیره‌سازی (CacheStorage،‏ FileSystems،‏ IndexedDB،‏ LocalStorage،‏ ServiceWorkers، و WebSQL) اعمال می‌شود.

browser.browsingData.remove({
  "origins": ["https://www.example.com"]
}, {
  "cacheStorage": true,
  "cookies": true,
  "fileSystems": true,
  "indexedDB": true,
  "localStorage": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

انواع مبدأ

افزودن ویژگی originTypes به شیء گزینه‌های میاناهای برنامه‌سازی کاربردی به شما امکان می‌دهد مشخص کنید کدام نوع از مبدأها باید تحت‌تأثیر قرار بگیرند. مبدأها به سه دسته تقسیم می‌شوند:

  • 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;
browser.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);

مثال‌ها

برای امتحان کردن این میانای برنامه‌سازی کاربردی، نمونه browsingData API را از مخزن chrome-extension-samples نصب کنید.

انواع

DataTypeSet

مجموعه‌ای از انواع داده. انواع داده‌های موجود نیست به‌عنوان false تفسیر می‌شوند.

مشخصات

  • حافظه نهان برنامه

    بولی اختیاری

    از Chrome 152 منسوخ شده است

    پشتیبانی از appcache برداشته شده است. این نوع داده نادیده گرفته خواهد شد.

    حافظه پنهان برنامه وب‌سایت‌ها.

  • حفظ کردن

    بولی اختیاری

    حافظه نهان مرورگر.

  • cacheStorage

    بولی اختیاری

    Chrome 72+ browser.* از Chrome 148

    فضای ذخیره‌سازی حافظه پنهان

  • کوکی‌ها

    بولی اختیاری

    کوکی‌های مرورگر.

  • بارگیری‌ها

    بولی اختیاری

    فهرست بارگیری مرورگر.

  • fileSystems

    بولی اختیاری

    سیستم‌های فایل وب‌سایت‌ها.

  • formData

    بولی اختیاری

    داده‌های فرم ذخیره‌شده مرورگر.

  • سابقه

    بولی اختیاری

    سابقه مرورگر.

  • indexedDB

    بولی اختیاری

    داده‌های IndexedDB وب‌سایت‌ها.

  • localStorage

    بولی اختیاری

    داده‌های فضای ذخیره‌سازی محلی وب‌سایت‌ها.

  • گذرواژه‌ها

    بولی اختیاری

    از Chrome 144 منسوخ شده است

    پشتیبانی از حذف گذرواژه ازطریق افزونه‌ها برداشته شده است. این نوع داده نادیده گرفته خواهد شد.

    گذرواژه‌های ذخیره‌شده.

  • pluginData

    بولی اختیاری

    از Chrome 88 منسوخ شده است

    پشتیبانی از Flash برداشته شده است. این نوع داده نادیده گرفته خواهد شد.

    داده‌های افزایه‌ها.

  • serverBoundCertificates

    بولی اختیاری

    از Chrome 76 منسوخ شده است

    پشتیبانی از گواهینامه‌های محدود به سرور برداشته شده است. این نوع داده نادیده گرفته خواهد شد.

    گواهینامه‌های محدود به سرور.

  • serviceWorkers

    بولی اختیاری

    عاملان خدماتی.

  • webSQL

    بولی اختیاری

    از Chrome 152 منسوخ شده است

    پشتیبانی از WebSQL برداشته شده است. این نوع داده نادیده گرفته خواهد شد.

    داده‌های WebSQL وب‌سایت‌ها.

RemovalOptions

گزینه‌هایی که دقیقاً تعیین می‌کنند چه داده‌هایی برداشته خواهد شد.

مشخصات

  • excludeOrigins

    رشته[] اختیاری

    Chrome نسخه ۷۴ به بالا browser.* ‎ از Chrome نسخه ۱۴۸ به بعد

    وقتی وجود داشته باشد، داده‌های مربوط به مبدأهای موجود در این فهرست از حذف مستثنی می‌شود. نمی‌توانید از آن همراه با origins استفاده کنید. فقط برای کوکی‌ها، فضای ذخیره‌سازی، و حافظه پنهان پشتیبانی می‌شود. کوکی‌ها برای کل دامنه قابل‌ثبت مستثنی می‌شوند.

  • originTypes

    شیء اختیاری

    شیئی که ویژگی‌های آن مشخص می‌کند کدام نوع مبدأ باید پاک شود. اگر این شیء مشخص نشده باشد، به‌طور پیش‌فرض فقط مبدأهای «محافظت‌نشده» پاک می‌شود. لطفاً قبل‌از افزودن «protectedWeb» یا «extensions»، مطمئن شوید که واقعاً می‌خواهید داده‌های برنامه را بردارید.

    • برنامهٔ افزودنی

      بولی اختیاری

      افزونه‌ها و برنامه‌های بسته‌بندی‌شده‌ای که کاربر نصب کرده است (باید _واقعاً_ مراقب باشید!).

    • protectedWeb

      بولی اختیاری

      وب‌سایت‌هایی که به‌عنوان برنامه‌های میزبانی‌شده نصب شده‌اند (مراقب باشید!).

    • unprotectedWeb

      بولی اختیاری

      وب‌سایت‌های عادی.

  • مبدأها

    ‫[رشته، ...رشته[]] اختیاری

    Chrome نسخه ۷۴ به بالا browser.* ‎ از Chrome نسخه ۱۴۸ به بعد

    وقتی وجود داشته باشد، فقط داده‌های مربوط به مبدأهای موجود در این فهرست حذف می‌شود. فقط برای کوکی‌ها، فضای ذخیره‌سازی، و حافظه پنهان پشتیبانی می‌شود. کوکی‌ها برای کل دامنه قابل‌ثبت پاک می‌شوند.

  • از

    شماره اختیاری

    داده‌های جمع‌آوری‌شده در این تاریخ یا پس‌از آن را بردارید، که برحسب میلی‌ثانیه از مبدأ زمانی نشان داده می‌شود (ازطریق روش getTime شیء Date جاوا اسکریپت قابل‌دسترسی است). اگر وجود نداشته باشد، به‌طور پیش‌فرض ۰ است (که همه داده‌های مرور را حذف می‌کند).

روش‌ها

remove()

browser.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
)
: Promise<void>

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی حذف تکمیل شد، حل می‌شود.

removeAppcache()

از Chrome 152 منسوخ شده است
browser.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

پشتیبانی از appcache برداشته شده است. این عملکرد تأثیری ندارد.

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی داده‌های appcache وب‌سایت‌ها پاک شود، حل می‌شود.

removeCache()

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

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی حافظه نهان مرورگر پاک شود، حل می‌شود.

removeCacheStorage()

Chrome 72+ browser.* از Chrome 148
browser.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی فضای ذخیره‌سازی حافظه نهان وب‌سایت‌ها پاک شود، مشکل برطرف می‌شود.

removeCookies()

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

کوکی‌های مرورگر و گواهی‌های محدود به سرور را که در بازه زمانی خاصی اصلاح شده‌اند پاک می‌کند.

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی کوکی‌های مرورگر و گواهی‌های محدود به سرور پاک شوند، حل می‌شود.

removeDownloads()

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

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی فهرست فایل‌های بارگیری‌شده مرورگر پاک شود، حل می‌شود.

removeFileSystems()

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

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی سیستم‌های فایل وب‌سایت‌ها پاک شده باشد، حل می‌شود.

removeFormData()

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

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی داده‌های فرم مرورگر پاک شود، حل می‌شود.

removeHistory()

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

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی سابقه مرورگر پاک شود، مشکل برطرف می‌شود.

removeIndexedDB()

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

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی داده‌های IndexedDB وب‌سایت‌ها پاک شود، حل می‌شود.

removeLocalStorage()

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

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی فضای ذخیره‌سازی محلی وب‌سایت‌ها پاک شود، حل می‌شود.

removePasswords()

از Chrome 144 منسوخ شده است
browser.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

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

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی گذرواژه‌های مرورگر پاک شده باشد، حل می‌شود.

removePluginData()

از Chrome 88 منسوخ شده است
browser.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

پشتیبانی از Flash برداشته شده است. این عملکرد تأثیری ندارد.

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی داده‌های افزونه‌ها پاک شود، حل می‌شود.

removeServiceWorkers()

Chrome 72+ browser.* از Chrome 148
browser.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی کارگران خدمات وب‌سایت‌ها پاک شوند، حل می‌شود.

removeWebSQL()

از Chrome 152 منسوخ شده است
browser.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

پشتیبانی از WebSQL برداشته شده است. این عملکرد تأثیری ندارد.

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

پارامترها

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸

    وقتی پایگاه‌های داده WebSQL وب‌سایت‌ها پاک شده باشد، حل می‌شود.

settings()

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

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

بازگشتی‌ها

  • Promise<object>

    Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸