chrome.browsingData

ब्यौरा

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

अनुमतियां

browsingData

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

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

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

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

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

एपीआई के विकल्पों वाले ऑब्जेक्ट में 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;
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);

उदाहरण

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

टाइप

DataTypeSet

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

प्रॉपर्टी

  • appcache

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

    अब काम नहीं करता

    appcache के लिए सहायता की सुविधा हटा दी गई है. इस डेटा टाइप को अनदेखा कर दिया जाएगा.

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

  • कैश मेमोरी

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

    ब्राउज़र की कैश मेमोरी.

  • cacheStorage

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

    Chrome 72 या इसके बाद के वर्शन

    कैश मेमोरी स्टोरेज

  • कुकी का इस्तेमाल करता है

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

    ब्राउज़र की कुकी.

  • डाउनलोड

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

    ब्राउज़र की डाउनलोड की गई फ़ाइलों की सूची.

  • fileSystems

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

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

  • formData

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

    ब्राउज़र में सेव किया गया फ़ॉर्म डेटा.

  • इतिहास

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

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

  • indexedDB

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

    वेबसाइटों का IndexedDB डेटा.

  • localStorage

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

    वेबसाइटों के लोकल स्टोरेज का डेटा.

  • पासवर्ड

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

    Chrome 144 से बंद कर दिया गया है

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

    सेव किए गए पासवर्ड.

  • pluginData

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

    Chrome 88 के बाद से काम नहीं करता

    फ़्लैश फ़ॉर्मैट में उपलब्ध वीडियो को क्रॉल करने की सुविधा हटा दी गई है. इस डेटा टाइप को अनदेखा कर दिया जाएगा.

    प्लगिन का डेटा.

  • serverBoundCertificates

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

    Deprecated since Chrome 76

    सर्वर से जुड़े सर्टिफ़िकेट के लिए सहायता बंद कर दी गई है. इस डेटा टाइप को अनदेखा कर दिया जाएगा.

    सर्वर से जुड़े सर्टिफ़िकेट.

  • serviceWorkers

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

    सर्विस वर्कर.

  • webSQL

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

    अब काम नहीं करता

    WebSQL के लिए सहायता हटा दी गई है. इस डेटा टाइप को अनदेखा कर दिया जाएगा.

    वेबसाइटों का WebSQL डेटा.

RemovalOptions

ऐसे विकल्प जिनसे यह तय होता है कि कौनसा डेटा हटाया जाएगा.

प्रॉपर्टी

  • excludeOrigins

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

    Chrome 74 या इसके बाद का वर्शन

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

  • originTypes

    ऑब्जेक्ट ज़रूरी नहीं है

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

    • एक्सटेंशन

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

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

    • protectedWeb

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

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

    • unprotectedWeb

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

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

  • ओरिजन

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

    Chrome 74 या इसके बाद का वर्शन

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

  • प्रारंभ

    number optional

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

तरीके

remove()

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

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

पैरामीटर

  • विकल्प
  • dataToRemove

    हटाए जाने वाले डेटा टाइप का सेट.

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

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

removeAppcache()

अब काम नहीं करता
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

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

यह कुकी, वेबसाइटों के appcache डेटा को मिटाती है.

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

    यह तब ठीक हो जाता है, जब वेबसाइटों का ऐपकैश डेटा मिटा दिया जाता है.

removeCache()

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

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

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

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

removeCacheStorage()

Chrome 72 या इसके बाद के वर्शन
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

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

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

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

removeCookies()

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

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

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

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

removeDownloads()

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

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

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

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

removeFileSystems()

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

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

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

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

removeFormData()

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

यह कुकी, ब्राउज़र में सेव किए गए फ़ॉर्म डेटा (ऑटोमैटिक भरने की सुविधा) को मिटाती है.

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

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

removeHistory()

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

यह कुकी, ब्राउज़र के इतिहास को मिटाती है.

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

    यह कुकी तब काम करती है, जब ब्राउज़र का इतिहास मिटा दिया जाता है.

removeIndexedDB()

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

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

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

    यह कुकी तब काम करती है, जब वेबसाइटों का IndexedDB डेटा मिटा दिया जाता है.

removeLocalStorage()

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

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

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

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

removePasswords()

Chrome 144 से बंद कर दिया गया है
chrome.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

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

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

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

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

removePluginData()

Chrome 88 के बाद से काम नहीं करता
chrome.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

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

यह कुकी, प्लगिन का डेटा मिटाती है.

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

    यह तब हल हो जाता है, जब प्लगिन का डेटा मिटा दिया जाता है.

removeServiceWorkers()

Chrome 72 या इसके बाद के वर्शन
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

यह कुकी, वेबसाइटों के सर्विस वर्कर को मिटा देती है.

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

    यह कुकी तब काम करती है, जब वेबसाइटों के सर्विस वर्कर को हटा दिया जाता है.

removeWebSQL()

अब काम नहीं करता
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

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

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

पैरामीटर

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

    यह कुकी तब काम करती है, जब वेबसाइटों के WebSQL डेटाबेस मिटा दिए जाते हैं.

settings()

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

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

रिटर्न

  • Promise<object>

    Chrome 96 और इसके बाद के वर्शन