browser.browsingData

বিবরণ

ব্যবহারকারীর লোকাল প্রোফাইল থেকে ব্রাউজিং ডেটা সরাতে chrome.browsingData API ব্যবহার করুন।

অনুমতি

browsingData

এই API ব্যবহার করার জন্য আপনাকে এক্সটেনশন ম্যানিফেস্টে "browsingData" সংক্রান্ত অনুমতি ঘোষণা করতে হবে।

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

ধারণা ও ব্যবহার

এই API-এর সবচেয়ে সহজ ব্যবহার হল, সময়-ভিত্তিক মেকানিজম ব্যবহার করে ব্যবহারকারীর ব্রাউজিং ডেটা মুছে ফেলা। আপনার কোডে একটি টাইমস্ট্যাম্প প্রদান করতে হবে যা ঐতিহাসিক তারিখ নির্দেশ করে যার পরে ব্যবহারকারীর ব্রাউজিং ডেটা মুছে ফেলতে হবে। এই টাইমস্ট্যাম্পটি Unix epoch-এর পর থেকে মিলিসেকেন্ডের সংখ্যা হিসেবে ফর্ম্যাট করা হয় (যা getTime() পদ্ধতি ব্যবহার করে JavaScript 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;
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);

অরিজিনের ধরন

API-এর বিকল্প অবজেক্টে 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);

উদাহরণ

এই API ব্যবহার করে দেখতে, chrome-extension-samples রিপোজিটরি থেকে browsingData API উদাহরণ ইনস্টল করুন।

ধরন

DataTypeSet

ডেটার ধরনের একটি সেট। ডেটার ধরন উল্লেখ করা না থাকলে, তা false হিসেবে ধরা হয়।

প্রপার্টি

  • অ্যাপক্যাশে

    বুলিয়ান ঐচ্ছিক

    Chrome 152 থেকে বন্ধ করা হয়েছে

    appcache-এর জন্য সহায়তা সরিয়ে দেওয়া হয়েছে। এই ধরনের ডেটা এড়িয়ে যাওয়া হবে।

    ওয়েবসাইটের appcaches.

  • সঞ্চিত

    বুলিয়ান ঐচ্ছিক

    ব্রাউজারের ক্যাশে।

  • cacheStorage

    বুলিয়ান ঐচ্ছিক

    Chrome 72+ ব্রাউজার।* Chrome 148 থেকে

    ক্যাশে স্টোরেজ

  • কুকি

    বুলিয়ান ঐচ্ছিক

    ব্রাউজারের কুকি।

  • ডাউনলোড করা আইটেম

    বুলিয়ান ঐচ্ছিক

    ব্রাউজারের ডাউনলোড তালিকা।

  • fileSystems

    বুলিয়ান ঐচ্ছিক

    ওয়েবসাইটের ফাইল সিস্টেম।

  • formData

    বুলিয়ান ঐচ্ছিক

    ব্রাউজারে সেভ করা ফর্ম ডেটা।

  • ইতিহাস

    বুলিয়ান ঐচ্ছিক

    ব্রাউজারের ইতিহাস।

  • indexedDB

    বুলিয়ান ঐচ্ছিক

    ওয়েবসাইটের IndexedDB ডেটা।

  • localStorage

    বুলিয়ান ঐচ্ছিক

    ওয়েবসাইটের লোকাল স্টোরেজ ডেটা।

  • পাসওয়ার্ড

    বুলিয়ান ঐচ্ছিক

    Chrome 144 থেকে বন্ধ করা হয়েছে

    এক্সটেনশনের মাধ্যমে পাসওয়ার্ড মুছে দেওয়ার সুবিধা সরিয়ে দেওয়া হয়েছে। এই ধরনের ডেটা এড়িয়ে যাওয়া হবে।

    সেভ করা পাসওয়ার্ড।

  • pluginData

    বুলিয়ান ঐচ্ছিক

    Chrome 88 থেকে বন্ধ করা হয়েছে

    Flash-এর জন্য সহায়তা সরিয়ে দেওয়া হয়েছে। এই ধরনের ডেটা এড়িয়ে যাওয়া হবে।

    প্লাগ-ইনের ডেটা।

  • serverBoundCertificates

    বুলিয়ান ঐচ্ছিক

    Chrome 76 থেকে বন্ধ করা হয়েছে

    সার্ভার-বাউন্ড সার্টিফিকেটের জন্য সহায়তা সরিয়ে দেওয়া হয়েছে। এই ধরনের ডেটা এড়িয়ে যাওয়া হবে।

    সার্ভার-বাউন্ড সার্টিফিকেট।

  • serviceWorkers

    বুলিয়ান ঐচ্ছিক

    সার্ভিস ওয়ার্কার।

  • webSQL

    বুলিয়ান ঐচ্ছিক

    Chrome 152 থেকে বন্ধ করা হয়েছে

    WebSQL-এর জন্য সহায়তা সরিয়ে দেওয়া হয়েছে। এই ধরনের ডেটা এড়িয়ে যাওয়া হবে।

    ওয়েবসাইটের WebSQL ডেটা।

RemovalOptions

কোন ডেটা মুছে ফেলা হবে তা নির্ধারণ করার বিকল্প।

প্রপার্টি

  • excludeOrigins

    string[] ঐচ্ছিক

    Chrome 74+ Chrome 148 থেকে browser.*

    উপস্থিত থাকলে, এই তালিকার অরিজিনের ডেটা মুছে ফেলা থেকে বাদ দেওয়া হয়। origins-এর সাথে একসাথে ব্যবহার করা যাবে না। শুধুমাত্র কুকি, স্টোরেজ ও ক্যাশের জন্য কাজ করে। সম্পূর্ণ রেজিস্টার করা যায় এমন ডোমেনের জন্য কুকি বাদ দেওয়া হয়েছে।

  • originTypes

    অবজেক্ট ঐচ্ছিক

    এমন একটি অবজেক্ট যার প্রপার্টি থেকে বোঝা যায় যে কোন ধরনের অরিজিন মুছে ফেলতে হবে। এই অবজেক্ট নির্দিষ্ট করা না থাকলে, ডিফল্ট হিসেবে এটি শুধুমাত্র "সুরক্ষিত নয়" অরিজিন মুছে দেয়। 'protectedWeb' বা 'extensions' যোগ করার আগে, আপনি সত্যিই অ্যাপ্লিকেশন ডেটা সরাতে চান কিনা তা নিশ্চিত করুন।

    • এক্সটেনশন

      বুলিয়ান ঐচ্ছিক

      ব্যবহারকারী ইনস্টল করেছেন এমন এক্সটেনশন এবং প্যাকেজ করা অ্যাপ্লিকেশন (_সত্যিই_ সতর্ক থাকুন!)।

    • protectedWeb

      বুলিয়ান ঐচ্ছিক

      হোস্ট করা অ্যাপ্লিকেশন হিসেবে ইনস্টল করা ওয়েবসাইট (সতর্ক থাকুন!)।

    • unprotectedWeb

      বুলিয়ান ঐচ্ছিক

      সাধারণ ওয়েবসাইট।

  • উৎস

    [string, ...string[]] ঐচ্ছিক

    Chrome 74+ Chrome 148 থেকে browser.*

    উপস্থিত থাকলে, এই তালিকায় শুধুমাত্র অরিজিনের ডেটা মুছে ফেলা হয়। শুধুমাত্র কুকি, স্টোরেজ ও ক্যাশের জন্য কাজ করে। রেজিস্টার করা যায় এমন সম্পূর্ণ ডোমেনের জন্য কুকি মুছে দেওয়া হয়।

  • থেকে

    নম্বর ঐচ্ছিক

    এই তারিখ বা তার পরে জমা হওয়া ডেটা মুছে দিন, যা যুগ থেকে মিলিসেকেন্ডে দেখানো হয় (JavaScript Date অবজেক্টের getTime পদ্ধতির মাধ্যমে অ্যাক্সেসযোগ্য)। না থাকলে, ডিফল্ট হিসেবে ০ (যা সব ব্রাউজিং ডেটা সরিয়ে দেবে)।

পদ্ধতি

remove()

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

ব্যবহারকারীর প্রোফাইলে সেভ করা বিভিন্ন ধরনের ব্রাউজিং ডেটা মুছে দেয়।

প্যারামিটারগুলি

  • বিকল্প
  • dataToRemove

    যেসব ধরনের ডেটা সরাতে হবে।

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    মুছে ফেলার কাজ সম্পূর্ণ হলে সমাধান হয়ে যায়।

removeAppcache()

Chrome 152 থেকে বন্ধ করা হয়েছে
browser.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

appcache-এর জন্য সহায়তা সরিয়ে দেওয়া হয়েছে। এই ফাংশনের কোনও প্রভাব নেই।

ওয়েবসাইটের appcache ডেটা মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ওয়েবসাইটের অ্যাপক্যাশে ডেটা মুছে দেওয়া হলে সমাধান করে।

removeCache()

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

ব্রাউজারের ক্যাশে মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ব্রাউজারের ক্যাশে মুছে দিলে সমস্যার সমাধান হয়ে যায়।

removeCacheStorage()

Chrome 72+ ব্রাউজার।* Chrome 148 থেকে
browser.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

ওয়েবসাইটের ক্যাশে স্টোরেজ ডেটা মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ওয়েবসাইটের ক্যাশে স্টোরেজ মুছে দেওয়া হলে সমাধান হয়ে যায়।

removeCookies()

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

নির্দিষ্ট সময়সীমার মধ্যে ব্রাউজারের কুকি এবং সার্ভার-বাউন্ড সার্টিফিকেট মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ব্রাউজারের কুকি ও সার্ভার-বাউন্ড সার্টিফিকেট মুছে দিলে সমস্যার সমাধান হয়ে যায়।

removeDownloads()

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

ব্রাউজারের ডাউনলোড করা ফাইলের তালিকা মুছে দেয় (ডাউনলোড করা ফাইলগুলি নয়)।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ব্রাউজারের ডাউনলোড করা ফাইলের তালিকা মুছে দেওয়া হলে সমাধান হয়ে যায়।

removeFileSystems()

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

ওয়েবসাইটের ফাইল সিস্টেম ডেটা মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ওয়েবসাইটের ফাইল সিস্টেম মুছে দেওয়া হলে সমাধান হয়ে যায়।

removeFormData()

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

ব্রাউজারে সেভ করা ফর্ম ডেটা (অটোফিল) মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ব্রাউজারের ফর্ম ডেটা মুছে ফেলা হলে সমাধান করে।

removeHistory()

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

ব্রাউজারের ইতিহাস মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ব্রাউজারের ইতিহাস মুছে গেলে সমাধান হয়ে যায়।

removeIndexedDB()

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

ওয়েবসাইটের IndexedDB ডেটা মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ওয়েবসাইটের IndexedDB ডেটা মুছে দেওয়া হলে সমাধান হয়ে যায়।

removeLocalStorage()

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

ওয়েবসাইটের লোকাল স্টোরেজ ডেটা মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ওয়েবসাইটের লোকাল স্টোরেজ মুছে দেওয়া হলে এই সমস্যার সমাধান হয়ে যায়।

removePasswords()

Chrome 144 থেকে বন্ধ করা হয়েছে
browser.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

এক্সটেনশনের মাধ্যমে পাসওয়ার্ড মুছে দেওয়ার সুবিধা সরিয়ে দেওয়া হয়েছে। এই ফাংশনের কোনও প্রভাব নেই।

ব্রাউজারে সেভ করা পাসওয়ার্ড মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ব্রাউজারের পাসওয়ার্ড মুছে দেওয়া হলে সমাধান হয়ে যায়।

removePluginData()

Chrome 88 থেকে বন্ধ করা হয়েছে
browser.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

Flash-এর জন্য সহায়তা সরিয়ে দেওয়া হয়েছে। এই ফাংশনের কোনও প্রভাব নেই।

প্লাগ-ইনের ডেটা মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    প্লাগ-ইনের ডেটা মুছে দেওয়া হলে সমাধান হয়ে যায়।

removeServiceWorkers()

Chrome 72+ ব্রাউজার।* Chrome 148 থেকে
browser.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

ওয়েবসাইটের সার্ভিস ওয়ার্কার মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ওয়েবসাইটের সার্ভিস ওয়ার্কার মুছে দেওয়া হলে সমস্যার সমাধান হয়ে যায়।

removeWebSQL()

Chrome 152 থেকে বন্ধ করা হয়েছে
browser.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

WebSQL-এর জন্য সহায়তা সরিয়ে দেওয়া হয়েছে। এই ফাংশনের কোনও প্রভাব নেই।

ওয়েবসাইটের WebSQL ডেটা মুছে দেয়।

প্যারামিটারগুলি

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

    ওয়েবসাইটের WebSQL ডেটাবেস মুছে দেওয়া হলে সমাধান হয়।

settings()

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

'ব্রাউজিং ডেটা মুছুন' সেটিংস UI-তে বর্তমানে কোন ধরনের ডেটা বেছে নেওয়া হয়েছে তা রিপোর্ট করে। মনে রাখবেন: এই API-তে অন্তর্ভুক্ত কিছু ডেটার ধরন সেটিংস UI-তে উপলভ্য নয় এবং কিছু UI সেটিংস এখানে তালিকাভুক্ত একাধিক ডেটার ধরন নিয়ন্ত্রণ করে।

রিটার্ন

  • Promise<object>

    Chrome 96+ Chrome 148 থেকে browser.*