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

    boolean optional

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

  • कैश मेमोरी

    boolean optional

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

  • cacheStorage

    boolean optional

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

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

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

    boolean optional

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

  • डाउनलोड

    boolean optional

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

  • fileSystems

    boolean optional

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

  • formData

    boolean optional

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

  • इतिहास

    boolean optional

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

  • indexedDB

    boolean optional

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

  • localStorage

    boolean optional

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

  • पासवर्ड

    boolean optional

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

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

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

  • pluginData

    boolean optional

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

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

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

  • serverBoundCertificates

    boolean optional

    Deprecated since Chrome 76

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

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

  • serviceWorkers

    boolean optional

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

  • webSQL

    boolean optional

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

RemovalOptions

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

प्रॉपर्टी

  • excludeOrigins

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

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

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

  • originTypes

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

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

    • एक्सटेंशन

      boolean optional

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

    • protectedWeb

      boolean optional

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

    • unprotectedWeb

      boolean optional

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

  • origins

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

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

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

  • प्रारंभ

    number ज़रूरी नहीं

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

पैरामीटर

रिटर्न

  • 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 डेटा को मिटाती है.

पैरामीटर

रिटर्न

  • Promise<void>

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

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

settings()

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

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

रिटर्न

  • Promise<object>

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