chrome.browsingData

توضیحات

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

Promise از زمان کروم ۸۸ منسوخ شده است
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ها استفاده کنند.