ब्यौरा
बुकमार्क बनाने, व्यवस्थित करने, और उनमें अन्य तरीके से बदलाव करने के लिए, chrome.bookmarks
API का इस्तेमाल करें. पेजों में बदलाव करें भी देखें. इसका इस्तेमाल, कस्टम बुकमार्क मैनेजर पेज बनाने के लिए किया जा सकता है.
अनुमतियां
bookmarks
बुकमार्क एपीआई का इस्तेमाल करने के लिए, आपको एक्सटेंशन मेनिफ़ेस्ट में "बुकमार्क" अनुमति के बारे में एलान करना होगा. उदाहरण के लिए:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
सिद्धांत और इस्तेमाल
ऑब्जेक्ट और प्रॉपर्टी
बुकमार्क, ट्री में व्यवस्थित किए जाते हैं, जहां ट्री में मौजूद हर नोड कोई बुकमार्क या फ़ोल्डर होता है (कभी-कभी इसे ग्रुप भी कहा जाता है). ट्री के हर नोड को bookmarks.BookmarkTreeNode ऑब्जेक्ट से दिखाया जाता है.
BookmarkTreeNode
प्रॉपर्टी का इस्तेमाल, chrome.bookmarks
एपीआई में किया जाता है. उदाहरण के लिए, bookmarks.create को कॉल करने पर, नए नोड की पैरंट प्रॉपर्टी (parentId
) और वैकल्पिक तौर पर, नोड की index
, title
, और url
प्रॉपर्टी को पास किया जाता है. नोड में हो सकने वाली प्रॉपर्टी के बारे में जानकारी के लिए bookmarks.BookmarkTreeNode देखें.
उदाहरण
नीचे दिया गया कोड "एक्सटेंशन बुकमार्क" टाइटल वाला फ़ोल्डर बनाता है. create()
का पहला आर्ग्युमेंट नए फ़ोल्डर की प्रॉपर्टी के बारे में बताता है. दूसरा तर्क, फ़ोल्डर बनाए जाने के बाद
चलने वाले फ़ंक्शन के बारे में बताता है.
chrome.bookmarks.create(
{'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
function(newFolder) {
console.log("added folder: " + newFolder.title);
},
);
अगला स्निपेट, एक्सटेंशन के लिए डेवलपर दस्तावेज़ को ले जाने वाला एक बुकमार्क बनाता है. क्योंकि अगर बुकमार्क बनाने में समस्या आ रही है, तो कुछ भी बुरा नहीं होगा. इसलिए, यह कोड किसी कॉलबैक फ़ंक्शन के बारे में बताने की कोशिश नहीं करता.
chrome.bookmarks.create({
'parentId': extensionsFolderId,
'title': 'Extensions doc',
'url': 'https://developer.chrome.com/docs/extensions',
});
इस एपीआई को आज़माने के लिए, chrome-extension-sample डेटा स्टोर करने की जगह से Bookmarks API उदाहरण इंस्टॉल करें.
टाइप
BookmarkTreeNode
बुकमार्क ट्री में कोई नोड (या तो बुकमार्क या फ़ोल्डर). चाइल्ड नोड उनके पैरंट फ़ोल्डर में क्रम से लगाए जाते हैं.
प्रॉपर्टी
-
बच्चे
BookmarkTreeNode[] ज़रूरी नहीं
इस नोड के बच्चों की क्रम में लगाई गई सूची.
-
dateAdded
नंबर ज़रूरी नहीं
जब यह नोड बनाया गया था, तो epoch (
new Date(dateAdded)
) के बाद से मिलीसेकंड में. -
dateGroupModified
नंबर ज़रूरी नहीं
जब इस फ़ोल्डर का कॉन्टेंट पिछली बार बदला था, तो epoch के बाद से मिलीसेकंड में.
-
dateLastUsed
नंबर ज़रूरी नहीं
Chrome 114 और इसके बाद के वर्शनजब इस नोड को आखिरी बार खोला गया था, तो epoch के बाद से मिलीसेकंड में. फ़ोल्डर के लिए सेट नहीं है.
-
id
स्ट्रिंग
नोड के लिए यूनीक आइडेंटिफ़ायर. मौजूदा प्रोफ़ाइल में आईडी यूनीक होते हैं. साथ ही, ब्राउज़र के रीस्टार्ट होने के बाद भी वे मान्य रहते हैं.
-
इंडेक्स
नंबर ज़रूरी नहीं
इस नोड के पैरंट फ़ोल्डर में इसकी 0 पर आधारित जगह.
-
parentId
स्ट्रिंग ज़रूरी नहीं
पैरंट फ़ोल्डर का
id
. रूट नोड के लिए हटाया गया. -
title
स्ट्रिंग
नोड के लिए दिखाया गया टेक्स्ट.
-
बदलाव नहीं किया जा सकता
ज़रूरी नहीं है
यह बताता है कि इस नोड में बदलाव क्यों नहीं किया जा सकता.
managed
वैल्यू से पता चलता है कि इस नोड को सिस्टम एडमिन या निगरानी में रखे गए उपयोगकर्ता के ग्राहक ने कॉन्फ़िगर किया था. अगर नोड में उपयोगकर्ता और एक्सटेंशन (डिफ़ॉल्ट) बदलाव कर सकते हैं, तो इसे हटा दिया जाएगा. -
यूआरएल
स्ट्रिंग ज़रूरी नहीं
वह यूआरएल जिस पर उपयोगकर्ता के बुकमार्क पर क्लिक करने पर पहुंचता है. फ़ोल्डर के लिए हटाया गया.
BookmarkTreeNodeUnmodifiable
यह बताता है कि इस नोड में बदलाव क्यों नहीं किया जा सकता. managed
मान से पता चलता है कि इस नोड को सिस्टम एडमिन ने कॉन्फ़िगर किया था. अगर नोड में उपयोगकर्ता और एक्सटेंशन (डिफ़ॉल्ट) बदलाव कर सकते हैं, तो इसे हटा दिया जाएगा.
वैल्यू
CreateDetails
ऑब्जेक्ट को create() फ़ंक्शन में पास किया गया.
प्रॉपर्टी
-
इंडेक्स
नंबर ज़रूरी नहीं
-
parentId
स्ट्रिंग ज़रूरी नहीं
डिफ़ॉल्ट रूप से, अन्य बुकमार्क फ़ोल्डर होता है.
-
title
स्ट्रिंग ज़रूरी नहीं
-
यूआरएल
स्ट्रिंग ज़रूरी नहीं
प्रॉपर्टी
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
अब Chrome में, बुकमार्क लिखने की सुविधा सीमित नहीं है.
वैल्यू
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
अब Chrome में, बुकमार्क लिखने की सुविधा सीमित नहीं है.
वैल्यू
1000000
तरीके
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
)
दिए गए पैरंट आईडी के तहत बुकमार्क या फ़ोल्डर बनाता है. अगर यूआरएल शून्य है या मौजूद नहीं है, तो यह एक फ़ोल्डर होगा.
पैरामीटर
-
बुकमार्क
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(result: BookmarkTreeNode)=>void
-
नतीजा
-
रिटर्न
-
Promise<BookmarkTreeNode>
Chrome 90 और इसके बाद के वर्शनप्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.
get()
chrome.bookmarks.get(
idOrIdList: string|[string,...string[]],
callback?: function,
)
बताए गए BookmarkTreeNode को वापस लाता है.
पैरामीटर
-
idOrIdList
स्ट्रिंग|[स्ट्रिंग,...स्ट्रिंग[]]
स्ट्रिंग की वैल्यू वाला सिंगल आईडी या स्ट्रिंग वैल्यू वाले आईडी की कैटगरी
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(results: BookmarkTreeNode[])=>void
-
नतीजे
-
रिटर्न
-
Promise<BookmarkTreeNode[]>
Chrome 90 और इसके बाद के वर्शनप्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
बताए गए BookmarkTreeNode आईडी के बच्चों को वापस लाता है.
पैरामीटर
-
id
स्ट्रिंग
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(results: BookmarkTreeNode[])=>void
-
नतीजे
-
रिटर्न
-
Promise<BookmarkTreeNode[]>
Chrome 90 और इसके बाद के वर्शनप्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
)
हाल ही में जोड़े गए बुकमार्क वापस लाता है.
पैरामीटर
-
numberOfItems
नंबर
लौटाए जाने वाले आइटम की ज़्यादा से ज़्यादा संख्या.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(results: BookmarkTreeNode[])=>void
-
नतीजे
-
रिटर्न
-
Promise<BookmarkTreeNode[]>
Chrome 90 और इसके बाद के वर्शनप्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
)
बताए गए नोड से शुरू करते हुए, बुकमार्क हैरारकी का हिस्सा फिर से लेता है.
पैरामीटर
-
id
स्ट्रिंग
फिर से हासिल करने के लिए, सबट्री के रूट का आईडी.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(results: BookmarkTreeNode[])=>void
-
नतीजे
-
रिटर्न
-
Promise<BookmarkTreeNode[]>
Chrome 90 और इसके बाद के वर्शनप्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
बुकमार्क की पूरी हैरारकी फिर से लाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(results: BookmarkTreeNode[])=>void
-
नतीजे
-
रिटर्न
-
Promise<BookmarkTreeNode[]>
Chrome 90 और इसके बाद के वर्शनप्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
)
बताए गए BookmarkTreeNode को दी गई जगह पर ले जाता है.
पैरामीटर
-
id
स्ट्रिंग
-
डेस्टिनेशन
ऑब्जेक्ट
-
इंडेक्स
नंबर ज़रूरी नहीं
-
parentId
स्ट्रिंग ज़रूरी नहीं
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(result: BookmarkTreeNode)=>void
-
नतीजा
-
रिटर्न
-
Promise<BookmarkTreeNode>
Chrome 90 और इसके बाद के वर्शनप्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
बुकमार्क या खाली बुकमार्क फ़ोल्डर को हटाता है.
पैरामीटर
-
id
स्ट्रिंग
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:()=>void
रिटर्न
-
Promise<void>
Chrome 90 और इसके बाद के वर्शनप्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
बुकमार्क फ़ोल्डर को बार-बार हटाता है.
पैरामीटर
-
id
स्ट्रिंग
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:()=>void
रिटर्न
-
Promise<void>
Chrome 90 और इसके बाद के वर्शनप्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.
search()
chrome.bookmarks.search(
query: string|object,
callback?: function,
)
दी गई क्वेरी से मेल खाने वाले BookmarkTreeNodes को खोजा जाता है. किसी ऑब्जेक्ट के साथ तय की गई क्वेरी, सभी खास प्रॉपर्टी से मेल खाने वाले BookmarkTreeNodes जनरेट करती हैं.
पैरामीटर
-
query
स्ट्रिंग|ऑब्जेक्ट
शब्दों और कोट किए गए वाक्यांशों की ऐसी स्ट्रिंग जो बुकमार्क यूआरएल और टाइटल से मेल खाती हो या फिर किसी ऑब्जेक्ट से मेल खाती हो. अगर कोई ऑब्जेक्ट है, तो
query
,url
, औरtitle
प्रॉपर्टी तय की जा सकती हैं. साथ ही, बताई गई सभी प्रॉपर्टी से मेल खाने वाले बुकमार्क बनाए जाएंगे.-
query
स्ट्रिंग ज़रूरी नहीं
शब्दों और कोट किए हुए वाक्यांशों की ऐसी स्ट्रिंग जिनका मिलान बुकमार्क यूआरएल और टाइटल से किया जाता है.
-
title
स्ट्रिंग ज़रूरी नहीं
बुकमार्क का टाइटल; शब्द के हिसाब से शब्द से मेल खाता है.
-
यूआरएल
स्ट्रिंग ज़रूरी नहीं
बुकमार्क का यूआरएल; हर शब्द से मिलता-जुलता है. ध्यान दें कि फ़ोल्डर में कोई यूआरएल नहीं होता.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(results: BookmarkTreeNode[])=>void
-
नतीजे
-
रिटर्न
-
Promise<BookmarkTreeNode[]>
Chrome 90 और इसके बाद के वर्शनप्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
)
किसी बुकमार्क या फ़ोल्डर की प्रॉपर्टी अपडेट करता है. सिर्फ़ उन प्रॉपर्टी की जानकारी दें जिनमें बदलाव करना है. जो प्रॉपर्टी नहीं बताई गई हैं उनमें कोई बदलाव नहीं होगा. ध्यान दें: फ़िलहाल, सिर्फ़ 'टाइटल' और 'यूआरएल' का इस्तेमाल किया जा सकता है.
पैरामीटर
-
id
स्ट्रिंग
-
बदलाव
ऑब्जेक्ट
-
title
स्ट्रिंग ज़रूरी नहीं
-
यूआरएल
स्ट्रिंग ज़रूरी नहीं
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(result: BookmarkTreeNode)=>void
-
नतीजा
-
रिटर्न
-
Promise<BookmarkTreeNode>
Chrome 90 और इसके बाद के वर्शनप्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.
इवेंट
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
बुकमार्क या फ़ोल्डर बदलने पर सक्रिय होता है. ध्यान दें: फ़िलहाल, यह सुविधा सिर्फ़ टाइटल और यूआरएल में हुए बदलावों को ट्रिगर करती है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(id: string,changeInfo: object)=>void
-
id
स्ट्रिंग
-
changeInfo
ऑब्जेक्ट
-
title
स्ट्रिंग
-
यूआरएल
स्ट्रिंग ज़रूरी नहीं
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
तब सक्रिय होता है, जब यूज़र इंटरफ़ेस (यूआई) में क्रम से लगाए जाने की वजह से फ़ोल्डर के बच्चों ने अपना क्रम बदल दिया हो. इसे माइग्रेट() के नतीजे के तौर पर नहीं कहा जाता.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(id: string,reorderInfo: object)=>void
-
id
स्ट्रिंग
-
reorderInfo
ऑब्जेक्ट
-
childIds
स्ट्रिंग[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
बुकमार्क या फ़ोल्डर बनाए जाने पर सक्रिय होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(id: string,bookmark: BookmarkTreeNode)=>void
-
id
स्ट्रिंग
-
बुकमार्क
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
बुकमार्क इंपोर्ट करने का सेशन शुरू होने पर सक्रिय होता है. महंगे निरीक्षकों को oncreated अपडेट को तब तक अनदेखा करना चाहिए, जब तक onImportEnded को सक्रिय नहीं किया जाता. हालांकि, निगरानी करने वाले लोगों को अन्य सूचनाएं तुरंत मिलनी चाहिए.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:()=>void
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
बुकमार्क इंपोर्ट सेशन खत्म होने पर सक्रिय होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:()=>void
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
किसी बुकमार्क या फ़ोल्डर को किसी दूसरे पैरंट फ़ोल्डर में ले जाने पर सक्रिय होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(id: string,moveInfo: object)=>void
-
id
स्ट्रिंग
-
moveInfo
ऑब्जेक्ट
-
इंडेक्स
नंबर
-
oldIndex
नंबर
-
oldParentId
स्ट्रिंग
-
parentId
स्ट्रिंग
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
बुकमार्क या फ़ोल्डर हटाए जाने पर सक्रिय होता है. जब किसी फ़ोल्डर को बार-बार हटाया जाता है, तो उस फ़ोल्डर के लिए सिर्फ़ एक सूचना ट्रिगर होती है और उसके कॉन्टेंट के लिए कोई सूचना चालू नहीं होती.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(id: string,removeInfo: object)=>void
-
id
स्ट्रिंग
-
removeInfo
ऑब्जेक्ट
-
इंडेक्स
नंबर
-
नोडChrome 48 और उसके बाद के वर्शन
-
parentId
स्ट्रिंग
-
-