chrome.browsingData

توضیحات

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

مجوزها

browsingData

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

{
  "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 پس از پاک کردن آن بازسازی کند. این برای اطمینان از اینکه همگام‌سازی می‌تواند به کار خود ادامه دهد، به طوری که داده‌ها در نهایت روی سرور حذف شوند، انجام می‌شود. با این حال، chrome.browsingData.removeCookies() خاص‌تر را می‌توان برای پاک کردن کوکی حساب همگام‌سازی استفاده کرد و در این مورد همگام‌سازی موقتاً متوقف می‌شود.

خاستگاه های خاص

برای حذف داده‌های یک مبدا خاص یا حذف مجموعه‌ای از مبداها از حذف، می‌توانید از پارامترهای 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 به شی گزینه های APIs به شما امکان می دهد مشخص کنید کدام نوع از مبداها باید اعمال شوند. ریشه ها به سه دسته تقسیم می شوند:

  • 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;
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 تفسیر می شوند.

خواص

  • appcache

    بولی اختیاری

    اپ کش های وب سایت ها

  • حافظه پنهان

    بولی اختیاری

    کش مرورگر.

  • حافظه پنهان

    بولی اختیاری

    Chrome 72+

    ذخیره سازی کش

  • کوکی ها

    بولی اختیاری

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

  • دانلودها

    بولی اختیاری

    لیست دانلود مرورگر.

  • فایل سیستم ها

    بولی اختیاری

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

  • formData

    بولی اختیاری

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

  • تاریخچه

    بولی اختیاری

    تاریخچه مرورگر.

  • indexedDB

    بولی اختیاری

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

  • محل ذخیره سازی

    بولی اختیاری

    داده های ذخیره سازی محلی وب سایت ها

  • رمزهای عبور

    بولی اختیاری

    رمزهای عبور ذخیره شده

  • افزونه داده

    بولی اختیاری

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

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

    داده های پلاگین ها

  • serverBoundCertificates

    بولی اختیاری

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

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

    گواهی های متصل به سرور

  • خدمات کارگران

    بولی اختیاری

    کارگران خدماتی

  • webSQL

    بولی اختیاری

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

RemovalOptions

گزینه هایی که دقیقاً تعیین می کنند چه داده هایی حذف می شوند.

خواص

  • excludeOrigins

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

    Chrome 74+

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

  • مبدا انواع

    شی اختیاری

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

    • پسوند

      بولی اختیاری

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

    • محافظت شده وب

      بولی اختیاری

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

    • وب محافظت نشده

      بولی اختیاری

      وب سایت های معمولی

  • ریشه ها

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

    Chrome 74+

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

  • از آنجایی که

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

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

روش ها

remove()

قول بده
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • dataToRemove

    مجموعه ای از انواع داده برای حذف.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeAppcache()

قول بده
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeCache()

قول بده
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)

کش مرورگر را پاک می کند.

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeCacheStorage()

Promise Chrome 72+
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeCookies()

قول بده
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeDownloads()

قول بده
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeFileSystems()

قول بده
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeFormData()

قول بده
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeHistory()

قول بده
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeIndexedDB()

قول بده
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeLocalStorage()

قول بده
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removePasswords()

قول بده
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removePluginData()

Promise از Chrome 88 منسوخ شده است
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

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

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeServiceWorkers()

Promise Chrome 72+
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeWebSQL()

قول بده
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)

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

پارامترها

  • گزینه ها
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

settings()

قول بده
chrome.browsingData.settings(
  callback?: function,
)

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

پارامترها

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (result: object) => void

    • نتیجه

      شی

      • dataRemovalPermitted

        همه انواع در نتیجه وجود خواهند داشت، با مقادیر true اگر مجاز به حذف باشند (مثلاً توسط خط مشی شرکت) و در غیر این صورت false .

      • dataToRemove

        همه انواع در نتیجه وجود خواهند داشت، اگر هر دو برای حذف انتخاب شوند و اجازه حذف داشته باشند، مقدار true ، در غیر این صورت false .

      • گزینه ها

برمی گرداند

  • قول<object>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.