browser.browsingData

ब्यौरा

किसी उपयोगकर्ता की लोकल प्रोफ़ाइल से ब्राउज़िंग डेटा हटाने के लिए, chrome.browsingData एपीआई का इस्तेमाल करें.

अनुमतियां

browsingData

इस एपीआई का इस्तेमाल करने के लिए, आपको एक्सटेंशन मेनिफ़ेस्ट में "browsingData" अनुमति का एलान करना होगा.

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

कॉन्सेप्ट और इस्तेमाल

इस एपीआई का सबसे आसान इस्तेमाल, उपयोगकर्ता के ब्राउज़िंग डेटा को समय के हिसाब से मिटाने के लिए किया जाता है. आपके कोड में एक टाइमस्टैंप होना चाहिए, जो उस तारीख के बारे में बताता हो जिसके बाद का उपयोगकर्ता का ब्राउज़िंग डेटा हटा दिया जाना चाहिए. इस टाइमस्टैंप को 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);

ऑरिजिन के टाइप

एपीआई के विकल्प ऑब्जेक्ट में originTypes प्रॉपर्टी जोड़ने से, यह तय किया जा सकता है कि किस तरह के ऑरिजिन पर असर पड़ना चाहिए. ऑरिजिन को तीन कैटगरी में बांटा गया है:

  • unprotectedWeb में उन वेबसाइटों के सामान्य मामले शामिल हैं जिन पर उपयोगकर्ता बिना कोई खास कार्रवाई किए विज़िट करते हैं. अगर आपने originTypes की जानकारी नहीं दी है, तो एपीआई डिफ़ॉल्ट रूप से, असुरक्षित वेब ऑरिजिन से डेटा हटा देता है.
  • 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);

उदाहरण

इस एपीआई को आज़माने के लिए, chrome-extension-samples रिपॉज़िटरी से browsingData API का उदाहरण इंस्टॉल करें.

टाइप

DataTypeSet

डेटा टाइप का एक सेट. अगर डेटा टाइप मौजूद नहीं है, तो उसे false माना जाता है.

प्रॉपर्टी

  • appcache

    बूलियन ज़रूरी नहीं

    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

    string[] ज़रूरी नहीं

    Chrome 74+ browser.* Chrome 148 के बाद से

    इस सूची में मौजूद ऑरिजिन का डेटा नहीं मिटाया जाता. origins के साथ इस्तेमाल नहीं किया जा सकता. यह सुविधा सिर्फ़ कुकी, स्टोरेज, और कैश मेमोरी के लिए उपलब्ध है. रजिस्टर किए जा सकने वाले पूरे डोमेन के लिए कुकी को बाहर रखा जाता है.

  • originTypes

    object ज़रूरी नहीं

    एक ऐसा ऑब्जेक्ट जिसकी प्रॉपर्टी से यह तय होता है कि किस तरह के ऑरिजिन को मिटाया जाना चाहिए. अगर यह ऑब्जेक्ट तय नहीं किया गया है, तो डिफ़ॉल्ट रूप से सिर्फ़ "असुरक्षित" ऑरिजिन मिटाए जाते हैं. 'protectedWeb' या 'extensions' जोड़ने से पहले, कृपया पक्का करें कि आपको वाकई ऐप्लिकेशन का डेटा हटाना है.

    • एक्सटेंशन

      बूलियन ज़रूरी नहीं

      उपयोगकर्ता ने जो एक्सटेंशन और पैकेज किए गए ऐप्लिकेशन इंस्टॉल किए हैं (बहुत सावधानी बरतें!).

    • protectedWeb

      बूलियन ज़रूरी नहीं

      ऐसी वेबसाइटें जिन्हें होस्ट किए गए ऐप्लिकेशन के तौर पर इंस्टॉल किया गया है (सावधान रहें!).

    • unprotectedWeb

      बूलियन ज़रूरी नहीं

      सामान्य वेबसाइटें.

  • origins

    [string, ...string[]] ज़रूरी नहीं

    Chrome 74+ browser.* Chrome 148 के बाद से

    अगर यह सूची मौजूद है, तो इसमें मौजूद ऑरिजिन का डेटा ही मिटाया जाता है. यह सुविधा सिर्फ़ कुकी, स्टोरेज, और कैश मेमोरी के लिए उपलब्ध है. रजिस्टर किए जा सकने वाले पूरे डोमेन के लिए कुकी मिटा दी जाती हैं.

  • प्रारंभ

    number ज़रूरी नहीं

    इस तारीख को या इसके बाद इकट्ठा किया गया डेटा हटाएं. इसे epoch के बाद से मिलीसेकंड में दिखाया जाता है. इसे JavaScript Date ऑब्जेक्ट के getTime तरीके से ऐक्सेस किया जा सकता है. अगर यह वैल्यू मौजूद नहीं है, तो डिफ़ॉल्ट रूप से 0 पर सेट हो जाती है. इससे सारा ब्राउज़िंग डेटा हट जाएगा.

तरीके

remove()

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

उपयोगकर्ता की प्रोफ़ाइल में सेव किए गए अलग-अलग तरह के ब्राउज़िंग डेटा को मिटाता है.

पैरामीटर

  • विकल्प
  • dataToRemove

    डेटा टाइप का वह सेट जिसे हटाना है.

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    डेटा मिटाने की प्रोसेस पूरी होने पर, यह प्रॉमिस रिज़ॉल्व हो जाता है.

removeAppcache()

Chrome 152 के बाद से इस्तेमाल नहीं किया जा सकता
browser.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

Appcache के लिए सहायता की सुविधा हटा दी गई है. इस फ़ंक्शन का कोई असर नहीं होता.

वेबसाइटों का ऐप्लिकेशन कैश डेटा मिटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    वेबसाइटों का ऐप्लिकेशन कैश डेटा मिटाए जाने पर, यह समस्या हल हो जाती है.

removeCache()

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

ब्राउज़र की कैश मेमोरी को मिटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    ब्राउज़र की कैश मेमोरी मिट जाने पर, यह प्रॉमिस रिज़ॉल्व हो जाता है.

removeCacheStorage()

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

वेबसाइटों की कैश मेमोरी में सेव किया गया डेटा मिटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    वेबसाइटों की कैश मेमोरी मिटाने पर, यह समस्या हल हो जाती है.

removeCookies()

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

यह ब्राउज़र की कुकी और सर्वर से जुड़े सर्टिफ़िकेट मिटाता है. ये कुकी और सर्टिफ़िकेट, किसी खास समयावधि में बदले गए होते हैं.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    ब्राउज़र की कुकी और सर्वर से जुड़े सर्टिफ़िकेट मिटाए जाने पर, यह प्रॉमिस रिज़ॉल्व हो जाता है.

removeDownloads()

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

इससे ब्राउज़र में डाउनलोड की गई फ़ाइलों की सूची मिट जाती है. हालांकि, डाउनलोड की गई फ़ाइलें नहीं मिटती हैं.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    ब्राउज़र में डाउनलोड की गई फ़ाइलों की सूची मिटाए जाने पर, यह समस्या हल हो जाती है.

removeFileSystems()

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

वेबसाइटों के फ़ाइल सिस्टम का डेटा मिटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    वेबसाइटों के फ़ाइल सिस्टम को खाली करने पर, यह समस्या हल हो जाती है.

removeFormData()

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

ब्राउज़र में सेव किया गया फ़ॉर्म डेटा (जानकारी अपने-आप भरने की सुविधा) मिटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    यह तब रिज़ॉल्व होता है, जब ब्राउज़र का फ़ॉर्म डेटा मिटा दिया जाता है.

removeHistory()

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

ब्राउज़र का इतिहास मिटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    ब्राउज़र का इतिहास मिटने पर, यह प्रॉमिस रिज़ॉल्व हो जाता है.

removeIndexedDB()

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

वेबसाइटों का IndexedDB डेटा मिटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    वेबसाइटों का IndexedDB डेटा मिटाए जाने पर, यह समस्या हल हो जाती है.

removeLocalStorage()

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

वेबसाइटों की लोकल मेमोरी में मौजूद डेटा को मिटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    वेबसाइटों का लोकल स्टोरेज खाली होने पर, यह समस्या हल हो जाती है.

removePasswords()

Chrome 144 के बाद से, इस सुविधा का इस्तेमाल नहीं किया जा सकता
browser.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

एक्सटेंशन की मदद से पासवर्ड मिटाने की सुविधा हटा दी गई है. इस फ़ंक्शन का कोई असर नहीं होता.

ब्राउज़र में सेव किए गए पासवर्ड मिटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    ब्राउज़र के पासवर्ड मिटाए जाने पर, यह प्रॉमिस रिज़ॉल्व हो जाता है.

removePluginData()

Chrome 88 के बाद से, इस सुविधा का इस्तेमाल नहीं किया जा सकता
browser.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

Flash के लिए सहायता की सुविधा हटा दी गई है. इस फ़ंक्शन का कोई असर नहीं होता.

प्लग इन का डेटा मिटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    प्लग इन का डेटा मिटने पर, यह प्रॉमिस रिज़ॉल्व हो जाता है.

removeServiceWorkers()

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

वेबसाइटों के सर्विस वर्कर को हटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    वेबसाइटों के सर्विस वर्कर को हटाए जाने पर, यह समस्या हल हो जाती है.

removeWebSQL()

Chrome 152 के बाद से इस्तेमाल नहीं किया जा सकता
browser.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

WebSQL की सुविधा हटा दी गई है. इस फ़ंक्शन का कोई असर नहीं होता.

वेबसाइटों का WebSQL डेटा मिटाता है.

पैरामीटर

रिटर्न

  • वादा<शून्य>

    Chrome 96+ Chrome 148 से browser.*

    वेबसाइटों के WebSQL डेटाबेस मिटाए जाने पर, यह प्रॉमिस रिज़ॉल्व हो जाता है.

settings()

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

यह नीति बताती है कि 'ब्राउज़िंग डेटा मिटाएं' सेटिंग के यूज़र इंटरफ़ेस (यूआई) में, फ़िलहाल किस तरह का डेटा चुना गया है. ध्यान दें: इस एपीआई में शामिल कुछ डेटा टाइप, सेटिंग यूज़र इंटरफ़ेस (यूआई) में उपलब्ध नहीं हैं. साथ ही, कुछ यूज़र इंटरफ़ेस (यूआई) सेटिंग, यहां दिए गए एक से ज़्यादा डेटा टाइप को कंट्रोल करती हैं.

रिटर्न

  • Promise<object>

    Chrome 96+ Chrome 148 से browser.*