chrome.browsingData

বর্ণনা

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

অনুমতি

browsingData

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

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

ধারণা এবং ব্যবহার

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

উৎপত্তি প্রকার

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;
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-টি ব্যবহার করার জন্য, chrome-extension-samples রিপোজিটরি থেকে browsingData API উদাহরণটি ইনস্টল করুন।

প্রকারভেদ

DataTypeSet

ডেটা টাইপের একটি সেট। অনুপস্থিত ডেটা টাইপগুলোকে false হিসেবে গণ্য করা হয়।

বৈশিষ্ট্য

  • অ্যাপক্যাশ

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

    ওয়েবসাইটগুলোর অ্যাপক্যাশ।

  • ক্যাশে

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

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

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

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

    ক্রোম ৭২+

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

  • কুকি

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

    ব্রাউজারের কুকিগুলো।

  • ডাউনলোড

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

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

  • ফাইলসিস্টেম

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

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

  • ফর্ম ডেটা

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

    ব্রাউজারে সংরক্ষিত ফর্ম ডেটা।

  • ইতিহাস

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

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

  • ইনডেক্সডডিবি

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

    ওয়েবসাইটগুলোর IndexedDB ডেটা।

  • স্থানীয় স্টোরেজ

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

    ওয়েবসাইটগুলোর স্থানীয় স্টোরেজের ডেটা।

  • পাসওয়ার্ড

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

    ক্রোম ১৪৪ থেকে বাতিল করা হয়েছে

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

    সংরক্ষিত পাসওয়ার্ডসমূহ।

  • প্লাগইন ডেটা

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

    ক্রোম ৮৮ থেকে বাতিল করা হয়েছে

    ফ্ল্যাশের জন্য সমর্থন তুলে নেওয়া হয়েছে। এই ডেটা টাইপটি উপেক্ষা করা হবে।

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

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

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

    ক্রোম ৭৬ থেকে বাতিল করা হয়েছে

    সার্ভার-ভিত্তিক সার্টিফিকেটের জন্য সমর্থন তুলে নেওয়া হয়েছে। এই ডেটা টাইপটি উপেক্ষা করা হবে।

    সার্ভার-সংযুক্ত সার্টিফিকেট।

  • পরিষেবাকর্মীরা

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

    সেবাকর্মী।

  • ওয়েবএসকিউএল

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

    ওয়েবসাইটগুলোর WebSQL ডেটা।

RemovalOptions

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

বৈশিষ্ট্য

  • উৎস বাদ দিন

    স্ট্রিং[] ঐচ্ছিক

    ক্রোম ৭৪+

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

  • উৎপত্তি প্রকার

    বস্তু ঐচ্ছিক

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

    • সম্প্রসারণ

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

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

    • সুরক্ষিত ওয়েব

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

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

    • অসুরক্ষিত ওয়েব

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

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

  • উৎপত্তি

    [স্ট্রিং, ...স্ট্রিং[]] ঐচ্ছিক

    ক্রোম ৭৪+

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

  • যেহেতু

    সংখ্যা ঐচ্ছিক

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

পদ্ধতি

remove()

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

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

removeAppcache()

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

ওয়েবসাইটগুলির অ্যাপক্যাশ ডেটা মুছে ফেলে।

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

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

removeCache()

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

    ব্রাউজারের ক্যাশে পরিষ্কার করা হলে এটি সমাধান হয়।

removeCacheStorage()

ক্রোম ৭২+
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

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

removeCookies()

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

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

removeDownloads()

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

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

removeFileSystems()

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

    ওয়েবসাইটগুলির ফাইল সিস্টেম পরিষ্কার করা হলে এটি সমাধান হয়।

removeFormData()

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

ব্রাউজারে সংরক্ষিত ফর্ম ডেটা (অটোফিল) মুছে ফেলে।

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

    ব্রাউজারের ফর্ম ডেটা মুছে ফেলা হলে এটি সমাধান হয়।

removeHistory()

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

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

removeIndexedDB()

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

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

removeLocalStorage()

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

ওয়েবসাইটগুলোর স্থানীয় স্টোরেজের ডেটা মুছে ফেলে।

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

    ওয়েবসাইটগুলির স্থানীয় স্টোরেজ খালি হয়ে গেলে এটি সমাধান হয়।

removePasswords()

ক্রোম ১৪৪ থেকে বাতিল করা হয়েছে
chrome.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

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

ব্রাউজারে সংরক্ষিত পাসওয়ার্ডগুলো মুছে দেয়।

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

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

removePluginData()

ক্রোম ৮৮ থেকে বাতিল করা হয়েছে
chrome.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

ফ্ল্যাশের জন্য সমর্থন তুলে নেওয়া হয়েছে। এই ফাংশনটির কোনো কার্যকারিতা নেই।

প্লাগইনগুলির ডেটা মুছে ফেলে।

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

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

removeServiceWorkers()

ক্রোম ৭২+
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

ওয়েবসাইটগুলোর সার্ভিস ওয়ার্কার মুছে ফেলে।

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

    ওয়েবসাইটগুলির সার্ভিস ওয়ার্কারগুলি পরিষ্কার করা হলে এটি সমাধান হয়।

removeWebSQL()

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

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

settings()

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

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

ফেরত

  • প্রতিশ্রুতি<object>

    ক্রোম ৯৬+