browser.bookmarks

ब्यौरा

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

Chrome 44+ browser.* Chrome 148 के बाद से

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

वैल्यू

"managed"

CreateDetails

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

प्रॉपर्टी

  • इंडेक्स

    number ज़रूरी नहीं

  • parentId

    string ज़रूरी नहीं

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

  • title

    string ज़रूरी नहीं

  • url

    string ज़रूरी नहीं

FolderType

Chrome 134 और इसके बाद के वर्शन Chrome 148 से browser.*

इससे फ़ोल्डर के टाइप का पता चलता है.

Enum

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

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

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

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

प्रॉपर्टी

MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE

अब काम नहीं करता

Chrome में अब बुकमार्क सेव करने की कोई सीमा नहीं है.

वैल्यू

1000000

MAX_WRITE_OPERATIONS_PER_HOUR

अब काम नहीं करता

Chrome में अब बुकमार्क सेव करने की कोई सीमा नहीं है.

वैल्यू

1000000

ROOT_NODE_ID

Chrome 145+ browser.* Chrome 148 से

रूट लेवल नोड से जुड़ा id.

वैल्यू

"0"

तरीके

create()

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

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

पैरामीटर

रिटर्न

get()

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

यह अनुमति मिलने पर, दिए गए BookmarkTreeNode को वापस पाया जा सकता है.

पैरामीटर

  • idOrIdList

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

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

रिटर्न

getChildren()

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

यह अनुमति मिलने पर, दिए गए BookmarkTreeNode आईडी के चाइल्ड नोड को वापस पाया जा सकता है.

पैरामीटर

  • आईडी

    स्ट्रिंग

रिटर्न

getRecent()

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

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

पैरामीटर

  • numberOfItems

    संख्या

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

रिटर्न

getSubTree()

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

यह तय किए गए नोड से शुरू करके, बुकमार्क की हैरारकी का हिस्सा वापस लाता है.

पैरामीटर

  • आईडी

    स्ट्रिंग

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

रिटर्न

getTree()

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

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

रिटर्न

move()

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

यह दिए गए BookmarkTreeNode को दी गई जगह पर ले जाता है.

पैरामीटर

  • आईडी

    स्ट्रिंग

  • डेस्टिनेशन

    ऑब्जेक्ट

    • इंडेक्स

      number ज़रूरी नहीं

    • parentId

      string ज़रूरी नहीं

रिटर्न

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 से
browser.bookmarks.search(
  query: string | object,
)
: Promise<BookmarkTreeNode[]>

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

पैरामीटर

  • क्वेरी

    string | object

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

    • क्वेरी

      string ज़रूरी नहीं

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

    • title

      string ज़रूरी नहीं

      बुकमार्क का टाइटल; हूबहू मैच करता है.

    • url

      string ज़रूरी नहीं

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

रिटर्न

update()

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

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

पैरामीटर

  • आईडी

    स्ट्रिंग

  • बदलाव

    ऑब्जेक्ट

    • title

      string ज़रूरी नहीं

    • url

      string ज़रूरी नहीं

रिटर्न

इवेंट

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

        स्ट्रिंग