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