ब्यौरा
किसी उपयोगकर्ता की लोकल प्रोफ़ाइल से ब्राउज़िंग डेटा हटाने के लिए, 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.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.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
एक्सटेंशन के ज़रिए पासवर्ड मिटाने की सुविधा हटा दी गई है. इस फ़ंक्शन का कोई असर नहीं होता.
यह कुकी, ब्राउज़र में सेव किए गए पासवर्ड मिटाती है.
पैरामीटर
-
विकल्प
रिटर्न
-
Promise<void>
Chrome 96 और इसके बाद के वर्शनयह तब हल हो जाता है, जब ब्राउज़र के पासवर्ड मिटा दिए जाते हैं.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
फ़्लैश फ़ॉर्मैट में उपलब्ध वीडियो को क्रॉल करने की सुविधा हटा दी गई है. इस फ़ंक्शन का कोई असर नहीं होता.
यह कुकी, प्लगिन का डेटा मिटाती है.
पैरामीटर
-
विकल्प
रिटर्न
-
Promise<void>
Chrome 96 और इसके बाद के वर्शनयह तब हल हो जाता है, जब प्लगिन का डेटा मिटा दिया जाता है.
removeServiceWorkers()
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 और इसके बाद के वर्शन