chrome.bookmarks

ब्यौरा

बुकमार्क बनाने, व्यवस्थित करने, और उनमें अन्य तरीके से बदलाव करने के लिए, 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

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

यह बताता है कि इस नोड में बदलाव क्यों नहीं किया जा सकता. 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

रिटर्न

  • 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

रिटर्न

  • 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 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

वादा
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

रिटर्न

  • 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

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

        स्ट्रिंग