chrome.bookmarks

ब्यौरा

बुकमार्क बनाने, व्यवस्थित करने, और उनमें बदलाव करने के लिए, chrome.bookmarks एपीआई का इस्तेमाल करें. पेजों में बदलाव करने की सुविधा के बारे में भी जानें. इसका इस्तेमाल करके, बुकमार्क मैनेजर का कस्टम पेज बनाया जा सकता है.

स्टार पर क्लिक करने से बुकमार्क जुड़ जाता है
तारे के निशान पर क्लिक करने से, बुकमार्क जुड़ जाता है.

अनुमतियां

bookmarks

Bookmarks API का इस्तेमाल करने के लिए, आपको एक्सटेंशन मेनिफ़ेस्ट में "bookmarks" अनुमति का एलान करना होगा. उदाहरण के लिए:

{   "name": "My extension",   ...   "permissions": [     "bookmarks"   ],   ... } 

कॉन्सेप्ट और इस्तेमाल

ऑब्जेक्ट और प्रॉपर्टी

बुकमार्क को ट्री के फ़ॉर्मैट में व्यवस्थित किया जाता है. ट्री का हर नोड, बुकमार्क या फ़ोल्डर होता है. कभी-कभी इसे ग्रुप भी कहा जाता है. ट्री में मौजूद हर नोड को bookmarks.BookmarkTreeNode ऑब्जेक्ट से दिखाया जाता है.

BookmarkTreeNode प्रॉपर्टी का इस्तेमाल, chrome.bookmarks API में किया जाता है. उदाहरण के लिए, bookmarks.create को कॉल करते समय, आपको नए नोड का पैरंट (parentId) पास करना होता है. साथ ही, नोड की index, title, और url प्रॉपर्टी पास करनी होती हैं. हालांकि, ऐसा करना ज़रूरी नहीं है. किसी नोड में मौजूद प्रॉपर्टी के बारे में जानकारी पाने के लिए, bookmarks.BookmarkTreeNode देखें.

उदाहरण

यहां दिया गया कोड, "Extension bookmarks" टाइटल वाला फ़ोल्डर बनाता है. 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-samples रिपॉज़िटरी से Bookmarks API का उदाहरण इंस्टॉल करें.

टाइप

BookmarkTreeNode

बुकमार्क ट्री में मौजूद कोई नोड (बुकमार्क या फ़ोल्डर). चाइल्ड नोड, पैरंट फ़ोल्डर में क्रम से लगाए जाते हैं.

प्रॉपर्टी

  • बच्चे

    BookmarkTreeNode[] ज़रूरी नहीं

    इस नोड के बच्चों की क्रम से लगाई गई सूची.

  • dateAdded

    number ज़रूरी नहीं

    इस नोड को कब बनाया गया था. यह जानकारी, Epoch (new Date(dateAdded)) के बाद के मिलीसेकंड में दी जाती है.

  • dateGroupModified

    number ज़रूरी नहीं

    इस फ़ोल्डर के कॉन्टेंट में पिछली बार कब बदलाव किया गया था. यह समय, epoch के बाद से मिलीसेकंड में होता है.

  • dateLastUsed

    number ज़रूरी नहीं

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

    इस नोड को पिछली बार कब खोला गया था. यह जानकारी, Epoch के बाद के मिलीसेकंड में दी जाती है. फ़ोल्डर के लिए सेट नहीं किया गया है.

  • folderType

    FolderType optional

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

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

    हर फ़ोल्डर टाइप के लिए, एक या कई नोड हो सकते हैं. ऐसा भी हो सकता है कि कोई नोड न हो. ब्राउज़र की मदद से किसी फ़ोल्डर को जोड़ा या हटाया जा सकता है. हालांकि, एक्सटेंशन एपीआई के ज़रिए ऐसा नहीं किया जा सकता.

  • आईडी

    स्ट्रिंग

    नोड के लिए यूनीक आइडेंटिफ़ायर. आईडी, मौजूदा प्रोफ़ाइल में यूनीक होते हैं. साथ ही, ब्राउज़र को रीस्टार्ट करने के बाद भी ये मान्य रहते हैं.

  • इंडेक्स

    number ज़रूरी नहीं

    यह नोड, अपने पैरंट फ़ोल्डर में किस क्रम पर है. यह क्रम 0 से शुरू होता है.

  • parentId

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

    पैरंट फ़ोल्डर का id. रूट नोड के लिए इस एट्रिब्यूट को शामिल नहीं किया जाता.

  • सिंक हो रहा है

    बूलियन

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

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

    ध्यान दें: इससे पता चलता है कि नोड को ब्राउज़र के बिल्ट-इन खाता सेवा देने वाली कंपनी में सेव किया गया है या नहीं. ऐसा हो सकता है कि किसी नोड को तीसरे पक्ष के ज़रिए सिंक किया गया हो. भले ही, यह वैल्यू गलत हो.

    मैनेज किए गए नोड (ऐसे नोड जहां unmodifiable को true पर सेट किया गया है) के लिए, यह प्रॉपर्टी हमेशा false होगी.

  • title

    स्ट्रिंग

    नोड के लिए दिखाया गया टेक्स्ट.

  • बदलाव नहीं किया जा सकता

    "managed"
     ज़रूरी नहीं है

    इससे पता चलता है कि इस नोड में बदलाव क्यों नहीं किया जा सकता. managed वैल्यू से पता चलता है कि इस नोड को सिस्टम एडमिन या निगरानी में रखे गए उपयोगकर्ता के अभिभावक ने कॉन्फ़िगर किया था. अगर नोड में उपयोगकर्ता और एक्सटेंशन (डिफ़ॉल्ट) बदलाव कर सकते हैं, तो इसे शामिल नहीं किया जाता.

  • url

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

    वह यूआरएल जिस पर उपयोगकर्ता, बुकमार्क पर क्लिक करने के बाद जाता है. फ़ोल्डर के लिए यह जानकारी शामिल नहीं की जाती.

BookmarkTreeNodeUnmodifiable

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

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

मान

"managed"

CreateDetails

create() फ़ंक्शन को पास किया गया ऑब्जेक्ट.

प्रॉपर्टी

  • इंडेक्स

    number ज़रूरी नहीं

  • parentId

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

    डिफ़ॉल्ट रूप से, यह 'अन्य बुकमार्क' फ़ोल्डर में सेव होता है.

  • title

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

  • url

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

FolderType

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

यह फ़ोल्डर का टाइप दिखाता है.

Enum

"bookmarks-bar"
यह वह फ़ोल्डर होता है जिसका कॉन्टेंट, ब्राउज़र विंडो में सबसे ऊपर दिखता है.

"other"
ऐसे बुकमार्क जो सभी प्लैटफ़ॉर्म पर, बुकमार्क की पूरी सूची में दिखते हैं.

"mobile"
ये बुकमार्क आम तौर पर उपयोगकर्ता के फ़ोन या टैबलेट पर उपलब्ध होते हैं. हालांकि, इन्हें एक्सटेंशन या बुकमार्क मैनेजर में जाकर बदला जा सकता है.

"managed"
यह टॉप-लेवल का फ़ोल्डर है. यह तब मौजूद हो सकता है, जब सिस्टम एडमिन या निगरानी में रखे गए उपयोगकर्ता के अभिभावक ने बुकमार्क कॉन्फ़िगर किए हों.

प्रॉपर्टी

MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE

अब सेवा में नहीं है

बुकमार्क लिखने की कार्रवाइयों पर, अब Chrome की पाबंदी नहीं है.

मान

1000000

MAX_WRITE_OPERATIONS_PER_HOUR

अब सेवा में नहीं है

बुकमार्क लिखने की कार्रवाइयों पर, अब Chrome की पाबंदी नहीं है.

मान

1000000

तरीके

create()

chrome.bookmarks.create(
  bookmark: CreateDetails,
)
: Promise<BookmarkTreeNode>

यह फ़ंक्शन, तय किए गए parentId के तहत एक बुकमार्क या फ़ोल्डर बनाता है. अगर यूआरएल NULL है या मौजूद नहीं है, तो यह एक फ़ोल्डर होगा.

पैरामीटर

रिटर्न

get()

chrome.bookmarks.get(
  idOrIdList: string | [string, ...string[]],
)
: Promise<BookmarkTreeNode[]>

यह फ़ंक्शन, चुने गए BookmarkTreeNode(s) को वापस लाता है.

पैरामीटर

  • idOrIdList

    string | [string, ...string[]]

    स्ट्रिंग वैल्यू वाला एक आईडी या स्ट्रिंग वैल्यू वाले आईडी की कैटगरी

रिटर्न

getChildren()

chrome.bookmarks.getChildren(
  id: string,
)
: Promise<BookmarkTreeNode[]>

यह फ़ंक्शन, BookmarkTreeNode के तय किए गए आईडी के चाइल्ड नोड को वापस लाता है.

पैरामीटर

  • आईडी

    स्ट्रिंग

रिटर्न

getRecent()

chrome.bookmarks.getRecent(
  numberOfItems: number,
)
: Promise<BookmarkTreeNode[]>

यह कुकी, हाल ही में जोड़े गए बुकमार्क को वापस लाती है.

पैरामीटर

  • numberOfItems

    संख्या

    ज्यादा से ज्यादा कितने आइटम दिखाए जा सकते हैं.

रिटर्न

getSubTree()

chrome.bookmarks.getSubTree(
  id: string,
)
: Promise<BookmarkTreeNode[]>

यह फ़ंक्शन, बुकमार्क के क्रम का वह हिस्सा दिखाता है जो तय किए गए नोड से शुरू होता है.

पैरामीटर

  • आईडी

    स्ट्रिंग

    उस सबट्री के रूट का आईडी जिसे वापस पाना है.

रिटर्न

getTree()

chrome.bookmarks.getTree(): Promise<BookmarkTreeNode[]>

यह बुकमार्क की पूरी हैरारकी को वापस लाता है.

रिटर्न

move()

chrome.bookmarks.move(
  id: string,
  destination: object,
)
: Promise<BookmarkTreeNode>

इस फ़ंक्शन की मदद से, चुने गए BookmarkTreeNode को दी गई जगह पर ले जाया जाता है.

पैरामीटर

  • आईडी

    स्ट्रिंग

  • डेस्टिनेशन

    ऑब्जेक्ट

    • इंडेक्स

      number ज़रूरी नहीं

    • parentId

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

रिटर्न

remove()

chrome.bookmarks.remove(
  id: string,
)
: Promise<void>

यह कुकी, किसी बुकमार्क या खाली बुकमार्क फ़ोल्डर को हटाती है.

पैरामीटर

  • आईडी

    स्ट्रिंग

रिटर्न

  • Promise<void>

    Chrome 90+

removeTree()

chrome.bookmarks.removeTree(
  id: string,
)
: Promise<void>

यह विकल्प, बुकमार्क फ़ोल्डर को बार-बार हटाने की सुविधा देता है.

पैरामीटर

  • आईडी

    स्ट्रिंग

रिटर्न

  • Promise<void>

    Chrome 90+
chrome.bookmarks.search(
  query: string | object,
)
: Promise<BookmarkTreeNode[]>

यह दी गई क्वेरी से मेल खाने वाले BookmarkTreeNode ऑब्जेक्ट खोजता है. किसी ऑब्जेक्ट के साथ तय की गई क्वेरी, तय की गई सभी प्रॉपर्टी से मेल खाने वाले BookmarkTreeNodes बनाती है.

पैरामीटर

  • क्वेरी

    स्ट्रिंग | ऑब्जेक्ट

    यह शब्दों की स्ट्रिंग और कोट किए गए वाक्यांशों का ऐसा कलेक्शन होता है जिसे बुकमार्क किए गए यूआरएल और टाइटल से मैच किया जाता है. इसके अलावा, यह कोई ऑब्जेक्ट भी हो सकता है. अगर कोई ऑब्जेक्ट है, तो query, url, और title प्रॉपर्टी तय की जा सकती हैं. साथ ही, तय की गई सभी प्रॉपर्टी से मेल खाने वाले बुकमार्क जनरेट किए जाएंगे.

    • क्वेरी

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

      शब्दों और कोट किए गए वाक्यांशों की एक स्ट्रिंग, जिसे बुकमार्क के यूआरएल और टाइटल से मैच किया जाता है.

    • title

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

      बुकमार्क का टाइटल; यह पूरी तरह से मैच होना चाहिए.

    • url

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

      बुकमार्क का यूआरएल; यह हूबहू मैच करता है. ध्यान दें कि फ़ोल्डर का कोई यूआरएल नहीं होता.

रिटर्न

update()

chrome.bookmarks.update(
  id: string,
  changes: object,
)
: Promise<BookmarkTreeNode>

यह कुकी, किसी बुकमार्क या फ़ोल्डर की प्रॉपर्टी अपडेट करती है. सिर्फ़ उन प्रॉपर्टी के बारे में बताएं जिनमें आपको बदलाव करना है. जिन प्रॉपर्टी के बारे में नहीं बताया गया है उनमें कोई बदलाव नहीं किया जाएगा. ध्यान दें: फ़िलहाल, सिर्फ़ 'title' और 'url' एट्रिब्यूट इस्तेमाल किए जा सकते हैं.

पैरामीटर

  • आईडी

    स्ट्रिंग

  • बदलाव

    ऑब्जेक्ट

    • title

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

    • url

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

रिटर्न

इवेंट

onChanged

chrome.bookmarks.onChanged.addListener(
  callback: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (id: string, changeInfo: object) => void

    • आईडी

      स्ट्रिंग

    • changeInfo

      ऑब्जेक्ट

      • title

        स्ट्रिंग

      • url

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

onChildrenReordered

chrome.bookmarks.onChildrenReordered.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब यूज़र इंटरफ़ेस में फ़ोल्डर के क्रम को बदला जाता है. इसे move() के नतीजे के तौर पर नहीं कहा जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (id: string, reorderInfo: object) => void

    • आईडी

      स्ट्रिंग

    • reorderInfo

      ऑब्जेक्ट

      • childIds

        string[]

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

    • आईडी

      स्ट्रिंग

    • moveInfo

      ऑब्जेक्ट

      • इंडेक्स

        संख्या

      • oldIndex

        संख्या

      • oldParentId

        स्ट्रिंग

      • parentId

        स्ट्रिंग

onRemoved

chrome.bookmarks.onRemoved.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब किसी बुकमार्क या फ़ोल्डर को हटाया जाता है. जब किसी फ़ोल्डर को बार-बार हटाया जाता है, तो उस फ़ोल्डर के लिए एक सूचना भेजी जाती है. उसके कॉन्टेंट के लिए कोई सूचना नहीं भेजी जाती.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (id: string, removeInfo: object) => void

    • आईडी

      स्ट्रिंग

    • removeInfo

      ऑब्जेक्ट

      • इंडेक्स

        संख्या

      • नोड
        Chrome 48 या इसके बाद का वर्शन
      • parentId

        स्ट्रिंग