browser.webNavigation

ब्यौरा

chrome.webNavigation एपीआई का इस्तेमाल करके, फ़्लाइट के दौरान नेविगेशन के अनुरोधों की स्थिति के बारे में सूचनाएं पाएं.

अनुमतियां

webNavigation

browser.webNavigation के सभी तरीकों और इवेंट के लिए, आपको एक्सटेंशन मेनिफ़ेस्ट में "webNavigation" की अनुमति का एलान करना होगा. उदाहरण के लिए:

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

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

इवेंट का क्रम

नेविगेशन पूरा होने पर, इवेंट इस क्रम में ट्रिगर होते हैं:

onBeforeNavigate -> onCommitted -> [onDOMContentLoaded] -> onCompleted

इस प्रोसेस के दौरान होने वाली किसी भी गड़बड़ी की वजह से, onErrorOccurred इवेंट ट्रिगर होता है. किसी खास नेविगेशन के लिए, onErrorOccurred के बाद कोई और इवेंट ट्रिगर नहीं होता.

अगर नेविगेट किए जा रहे फ़्रेम में सबफ़्रेम शामिल हैं, तो उसके किसी भी चाइल्ड फ़्रेम के onBeforeNavigate से पहले, उसका onCommitted ट्रिगर होता है. वहीं, उसके सभी चाइल्ड फ़्रेम के onCompleted के बाद, onCompleted ट्रिगर होता है.

अगर किसी फ़्रेम का रेफ़रंस फ़्रैगमेंट बदल जाता है, तो onReferenceFragmentUpdated इवेंट ट्रिगर होता है. यह इवेंट onDOMContentLoaded के बाद किसी भी समय ट्रिगर हो सकता है. यहां तक कि onCompleted के बाद भी.

अगर किसी फ़्रेम की स्थिति में बदलाव करने के लिए, इतिहास एपीआई का इस्तेमाल किया जाता है (उदाहरण के लिए, history.pushState() का इस्तेमाल करके, तो onHistoryStateUpdated इवेंट ट्रिगर होता है. यह इवेंट, onDOMContentLoaded के बाद कभी भी ट्रिगर हो सकता है.

अगर किसी नेविगेशन ने बैक-फ़ॉरवर्ड कैश मेमोरी से किसी पेज को वापस लाया है, तो onDOMContentLoaded इवेंट ट्रिगर नहीं होगा. इवेंट ट्रिगर नहीं हुआ, क्योंकि पेज पर पहली बार विज़िट करने पर, कॉन्टेंट पहले ही लोड हो चुका था.

अगर Chrome इंस्टैंट या इंस्टैंट पेज का इस्तेमाल करके नेविगेशन ट्रिगर किया गया था, तो पूरी तरह से लोड किए गए पेज को मौजूदा टैब में स्वैप कर दिया जाता है. ऐसे में, onTabReplaced इवेंट ट्रिगर होता है.

webRequest इवेंट से संबंध

webRequest API के इवेंट और webNavigation API के इवेंट के बीच कोई तय क्रम नहीं होता. ऐसा हो सकता है कि webRequest इवेंट अब भी उन फ़्रेम के लिए मिल रहे हों जिन्होंने पहले ही नया नेविगेशन शुरू कर दिया है या नेविगेशन सिर्फ़ तब आगे बढ़ता है, जब नेटवर्क रिसॉर्स पहले से ही पूरी तरह से लोड हो चुके हों.

आम तौर पर, webNavigation इवेंट, यूज़र इंटरफ़ेस (यूआई) में दिखने वाली नेविगेशन स्थिति से काफ़ी हद तक जुड़े होते हैं. वहीं, webRequest इवेंट, नेटवर्क स्टैक की स्थिति से जुड़े होते हैं. आम तौर पर, यह स्थिति उपयोगकर्ता को नहीं दिखती.

टैब आईडी

नेविगेट करने वाले सभी टैब, Chrome के यूज़र इंटरफ़ेस (यूआई) में मौजूद असल टैब से मेल नहीं खाते. उदाहरण के लिए, ऐसा टैब जो पहले से रेंडर किया जा रहा हो. ऐसे टैब को tabs API का इस्तेमाल करके ऐक्सेस नहीं किया जा सकता. साथ ही, webNavigation.getFrame() या webNavigation.getAllFrames() को कॉल करके, उनके बारे में जानकारी का अनुरोध नहीं किया जा सकता. जब इस तरह का कोई टैब स्वैप किया जाता है, तो onTabReplaced इवेंट ट्रिगर होता है. इसके बाद, इन एपीआई की मदद से उन्हें ऐक्सेस किया जा सकता है.

टाइमस्टैंप

यह ध्यान रखना ज़रूरी है कि ओएस में Chrome की अलग-अलग प्रोसेस को मैनेज करने से जुड़ी कुछ तकनीकी गड़बड़ियों की वजह से, ब्राउज़र और एक्सटेंशन की प्रोसेस के बीच घड़ी का समय अलग-अलग हो सकता है. इसका मतलब है कि WebNavigation इवेंट की timeStamp प्रॉपर्टी की timeStamp प्रॉपर्टी के इंटरनल तौर पर एक जैसा होने की गारंटी है. एक इवेंट की दूसरे इवेंट से तुलना करने पर, आपको उनके बीच का सही ऑफ़सेट मिलेगा. हालांकि, एक्सटेंशन में मौजूद मौजूदा समय से उनकी तुलना करने पर, आपको अनचाहे नतीजे मिल सकते हैं. उदाहरण के लिए, (new Date()).getTime() का इस्तेमाल करने पर.

फ़्रेम आईडी

किसी टैब में मौजूद फ़्रेम की पहचान, फ़्रेम आईडी से की जा सकती है. मुख्य फ़्रेम का फ़्रेम आईडी हमेशा 0 होता है. वहीं, चाइल्ड फ़्रेम का आईडी एक पॉज़िटिव नंबर होता है. किसी फ़्रेम में दस्तावेज़ बनाने के बाद, दस्तावेज़ के लाइफ़टाइम के दौरान उसका फ़्रेम आईडी एक जैसा रहता है. Chrome 49 के बाद से, यह आईडी फ़्रेम के लाइफ़टाइम (कई नेविगेशन में) के लिए भी एक जैसा रहता है.

Chrome में कई प्रोसेस एक साथ चलती हैं. इसलिए, हो सकता है कि कोई टैब किसी वेब पेज के सोर्स और डेस्टिनेशन को रेंडर करने के लिए, अलग-अलग प्रोसेस का इस्तेमाल करे. इसलिए, अगर किसी नई प्रोसेस में नेविगेशन होता है, तो आपको नए और पुराने, दोनों पेजों से इवेंट मिल सकते हैं.ऐसा तब तक होगा, जब तक नया नेविगेशन कमिट नहीं हो जाता. इसका मतलब है कि नए मुख्य फ़्रेम के लिए, onCommitted इवेंट नहीं भेजा जाता. दूसरे शब्दों में, एक ही frameId वाले webNavigation इवेंट के एक से ज़्यादा क्रमों को मंज़ूरी मिलना बाकी हो सकता है. processId बटन की मदद से, सीक्वेंस में अंतर किया जा सकता है.

यह भी ध्यान रखें कि प्रोविज़नल लोड के दौरान, प्रोसेस को कई बार स्विच किया जा सकता है. ऐसा तब होता है, जब लोड को किसी दूसरी साइट पर रीडायरेक्ट किया जाता है. इस मामले में, आपको बार-बार onBeforeNavigate और onErrorOccurred इवेंट मिलेंगे. ऐसा तब तक होगा, जब तक आपको आखिरी onCommitted इवेंट नहीं मिल जाता.

एक्सटेंशन के साथ एक और समस्या है, फ़्रेम की लाइफ़साइकल. फ़्रेम में कोई दस्तावेज़ होस्ट किया जाता है. यह दस्तावेज़, कमिट किए गए यूआरएल से जुड़ा होता है. दस्तावेज़ में बदलाव हो सकता है (जैसे, नेविगेट करके), लेकिन frameId में बदलाव नहीं होगा. इसलिए, सिर्फ़ frameIds की मदद से यह पता लगाना मुश्किल है कि किसी दस्तावेज़ में क्या हुआ. हम documentId का कॉन्सेप्ट पेश कर रहे हैं. यह हर दस्तावेज़ के लिए एक यूनीक आइडेंटिफ़ायर होता है. अगर किसी फ़्रेम को नेविगेट किया जाता है और वह कोई नया दस्तावेज़ खोलता है, तो आइडेंटिफ़ायर बदल जाएगा. इस फ़ील्ड की मदद से यह पता लगाया जा सकता है कि पेज अपनी लाइफ़साइकल की स्थिति (प्रीरेंडर/ऐक्टिव/कैश मेमोरी में सेव) कब बदलते हैं. ऐसा इसलिए, क्योंकि यह फ़ील्ड एक जैसा रहता है.

ट्रांज़िशन टाइप और क्वालिफ़ायर

webNavigation onCommitted इवेंट में, transitionType और transitionQualifiers प्रॉपर्टी होती है. ट्रांज़िशन टाइप वही होता है जो history API में इस्तेमाल किया जाता है. इससे पता चलता है कि ब्राउज़र इस यूआरएल पर कैसे पहुंचा. इसके अलावा, कई ट्रांज़िशन क्वालीफ़ायर दिखाए जा सकते हैं, जो नेविगेशन के बारे में ज़्यादा जानकारी देते हैं.

ट्रांज़िशन क्वालिफ़ायर ये हैं:

ट्रांज़िशन क्वालीफ़ायरब्यौरा
"client_redirect"नेविगेशन के दौरान, पेज पर JavaScript या मेटा रीफ़्रेश टैग की वजह से एक या उससे ज़्यादा रीडायरेक्ट हुए.
"server_redirect"नेविगेशन के दौरान, सर्वर से भेजे गए एचटीटीपी हेडर की वजह से एक या उससे ज़्यादा रीडायरेक्ट हुए.
"forward_back"उपयोगकर्ता ने नेविगेशन शुरू करने के लिए, 'आगे जाएं' या 'वापस जाएं' बटन का इस्तेमाल किया.
"from_address_bar"उपयोगकर्ता ने पता बार (खोज बार) से नेविगेशन शुरू किया.

उदाहरण

इस एपीआई को आज़माने के लिए, chrome-extension-samples रिपॉज़िटरी से webNavigation API का उदाहरण इंस्टॉल करें.

टाइप

TransitionQualifier

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

Enum

"client_redirect"

"server_redirect"

"forward_back"

"from_address_bar"

TransitionType

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

नेविगेशन की वजह. इसमें, History API में तय किए गए ट्रांज़िशन टाइप का ही इस्तेमाल किया जाता है. ये ट्रांज़िशन टाइप, history API में बताए गए ट्रांज़िशन टाइप जैसे ही हैं. हालांकि, इनमें "auto_toplevel" के बजाय "start_page" का इस्तेमाल किया जाता है, ताकि ये पुराने सिस्टम के साथ काम कर सकें.

Enum

"link"

"typed"

"auto_bookmark"

"auto_subframe"

"manual_subframe"

"generated"

"start_page"

"form_submit"

"reload"

"keyword"

"keyword_generated"

तरीके

getAllFrames()

browser.webNavigation.getAllFrames(
  details: object,
)
: Promise<object[] | undefined>

यह किसी टैब के सभी फ़्रेम की जानकारी हासिल करता है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    उस टैब की जानकारी जिससे सभी फ़्रेम वापस पाने हैं.

    • tabId

      संख्या

      टैब का आईडी.

रिटर्न

  • Promise<object[] | undefined>

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

getFrame()

browser.webNavigation.getFrame(
  details: object,
)
: Promise<object | undefined>

दिए गए फ़्रेम के बारे में जानकारी हासिल करता है. फ़्रेम का मतलब, किसी वेब पेज के <iframe> या <frame> से है. इसकी पहचान, टैब आईडी और फ़्रेम आईडी से की जाती है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    जिस फ़्रेम की जानकारी चाहिए उसके बारे में जानकारी.

    • documentId

      string ज़रूरी नहीं

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

      दस्तावेज़ का यूयूआईडी. अगर frameId और/या tabId दिए गए हैं, तो उनकी पुष्टि की जाएगी. इससे यह पक्का किया जाएगा कि वे दिए गए दस्तावेज़ आईडी से मिले दस्तावेज़ से मैच करते हों.

    • frameId

      number ज़रूरी नहीं

      दिए गए टैब में मौजूद फ़्रेम का आईडी.

    • processId

      number ज़रूरी नहीं

      Chrome 49 के बाद से इस्तेमाल नहीं किया जा रहा है

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

      इस टैब के लिए रेंडरर को चलाने वाली प्रोसेस का आईडी.

    • tabId

      number ज़रूरी नहीं

      उस टैब का आईडी जिसमें फ़्रेम मौजूद है.

रिटर्न

  • Promise<object | undefined>

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

इवेंट

onBeforeNavigate

browser.webNavigation.onBeforeNavigate.addListener(
  callback: function,
  filters?: object,
)

नेविगेशन शुरू होने पर ट्रिगर होता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

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

        दस्तावेज़ की लाइफ़साइकल.

      • frameId

        संख्या

        0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब और प्रोसेस के लिए यूनीक होते हैं.

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

        वह फ़्रेम जिसमें नेविगेशन हुआ.

      • parentDocumentId

        string ज़रूरी नहीं

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

        इस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो इसे सेट नहीं किया जाता.

      • parentFrameId

        संख्या

        पैरंट फ़्रेम का आईडी या -1, अगर यह मुख्य फ़्रेम है.

      • processId

        संख्या

        Chrome 50 के बाद से इस्तेमाल नहीं किया जा रहा है

        इस इवेंट के लिए, processId अब सेट नहीं किया गया है. ऐसा इसलिए, क्योंकि नतीजे के तौर पर मिलने वाले दस्तावेज़ को रेंडर करने वाली प्रोसेस की जानकारी, onCommit तक नहीं होती.

        -1 की वैल्यू.

      • tabId

        संख्या

        उस टैब का आईडी जिसमें नेविगेशन होने वाला है.

      • timeStamp

        संख्या

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

      • url

        स्ट्रिंग

  • फ़िल्टर

    object ज़रूरी नहीं

    • जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.

onCommitted

browser.webNavigation.onCommitted.addListener(
  callback: function,
  filters?: object,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

        लोड किए गए दस्तावेज़ का यूयूआईडी.

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

        दस्तावेज़ की लाइफ़साइकल.

      • frameId

        संख्या

        0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.

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

        वह फ़्रेम जिसमें नेविगेशन हुआ.

      • parentDocumentId

        string ज़रूरी नहीं

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

        इस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो इसे सेट नहीं किया जाता.

      • parentFrameId

        संख्या

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

        पैरंट फ़्रेम का आईडी या -1, अगर यह मुख्य फ़्रेम है.

      • processId

        संख्या

        इस फ़्रेम के लिए रेंडरर को चलाने वाली प्रोसेस का आईडी.

      • tabId

        संख्या

        उस टैब का आईडी जिसमें नेविगेशन होता है.

      • timeStamp

        संख्या

        नेविगेशन शुरू होने का समय, epoch के बाद से मिलीसेकंड में.

      • transitionQualifiers

        ट्रांज़िशन क्वालिफ़ायर की सूची.

      • transitionType

        नेविगेशन की वजह.

      • url

        स्ट्रिंग

  • फ़िल्टर

    object ज़रूरी नहीं

    • जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.

onCompleted

browser.webNavigation.onCompleted.addListener(
  callback: function,
  filters?: object,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

        लोड किए गए दस्तावेज़ का यूयूआईडी.

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

        दस्तावेज़ की लाइफ़साइकल.

      • frameId

        संख्या

        0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.

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

        वह फ़्रेम जिसमें नेविगेशन हुआ.

      • parentDocumentId

        string ज़रूरी नहीं

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

        इस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो इसे सेट नहीं किया जाता.

      • parentFrameId

        संख्या

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

        पैरंट फ़्रेम का आईडी या -1, अगर यह मुख्य फ़्रेम है.

      • processId

        संख्या

        इस फ़्रेम के लिए रेंडरर को चलाने वाली प्रोसेस का आईडी.

      • tabId

        संख्या

        उस टैब का आईडी जिसमें नेविगेशन होता है.

      • timeStamp

        संख्या

        दस्तावेज़ के पूरी तरह लोड होने का समय, epoch के बाद से मिलीसेकंड में.

      • url

        स्ट्रिंग

  • फ़िल्टर

    object ज़रूरी नहीं

    • जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.

onCreatedNavigationTarget

browser.webNavigation.onCreatedNavigationTarget.addListener(
  callback: function,
  filters?: object,
)

यह इवेंट तब ट्रिगर होता है, जब नेविगेशन को होस्ट करने के लिए कोई नई विंडो या किसी मौजूदा विंडो में नया टैब बनाया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • sourceFrameId

        संख्या

        sourceTabId वाले उस फ़्रेम का आईडी जिसमें नेविगेशन ट्रिगर किया गया है. 0 मुख्य फ़्रेम को दिखाता है.

      • sourceProcessId

        संख्या

        सोर्स फ़्रेम के लिए रेंडरर को चलाने वाली प्रोसेस का आईडी.

      • sourceTabId

        संख्या

        उस टैब का आईडी जिसमें नेविगेशन ट्रिगर किया गया है.

      • tabId

        संख्या

        उस टैब का आईडी जिसमें यूआरएल खोला गया है

      • timeStamp

        संख्या

        वह समय जब ब्राउज़र नया व्यू बनाने वाला था. यह समय, epoch के बाद से मिलीसेकंड में होता है.

      • url

        स्ट्रिंग

        नई विंडो में खोला जाने वाला यूआरएल.

  • फ़िल्टर

    object ज़रूरी नहीं

    • जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.

onDOMContentLoaded

browser.webNavigation.onDOMContentLoaded.addListener(
  callback: function,
  filters?: object,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

        लोड किए गए दस्तावेज़ का यूयूआईडी.

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

        दस्तावेज़ की लाइफ़साइकल.

      • frameId

        संख्या

        0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.

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

        वह फ़्रेम जिसमें नेविगेशन हुआ.

      • parentDocumentId

        string ज़रूरी नहीं

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

        इस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो इसे सेट नहीं किया जाता.

      • parentFrameId

        संख्या

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

        पैरंट फ़्रेम का आईडी या -1, अगर यह मुख्य फ़्रेम है.

      • processId

        संख्या

        इस फ़्रेम के लिए रेंडरर को चलाने वाली प्रोसेस का आईडी.

      • tabId

        संख्या

        उस टैब का आईडी जिसमें नेविगेशन होता है.

      • timeStamp

        संख्या

        वह समय जब पेज का डीओएम पूरी तरह से बनाया गया था. यह समय, epoch के बाद से मिलीसेकंड में होता है.

      • url

        स्ट्रिंग

  • फ़िल्टर

    object ज़रूरी नहीं

    • जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.

onErrorOccurred

browser.webNavigation.onErrorOccurred.addListener(
  callback: function,
  filters?: object,
)

यह इवेंट तब ट्रिगर होता है, जब कोई गड़बड़ी होती है और नेविगेशन को रद्द कर दिया जाता है. ऐसा तब हो सकता है, जब नेटवर्क की कोई गड़बड़ी हुई हो या उपयोगकर्ता ने नेविगेशन को रद्द कर दिया हो.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

        लोड किए गए दस्तावेज़ का यूयूआईडी.

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

        दस्तावेज़ की लाइफ़साइकल.

      • गड़बड़ी

        स्ट्रिंग

        गड़बड़ी की जानकारी.

      • frameId

        संख्या

        0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.

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

        वह फ़्रेम जिसमें नेविगेशन हुआ.

      • parentDocumentId

        string ज़रूरी नहीं

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

        इस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो इसे सेट नहीं किया जाता.

      • parentFrameId

        संख्या

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

        पैरंट फ़्रेम का आईडी या -1, अगर यह मुख्य फ़्रेम है.

      • processId

        संख्या

        Chrome 50 के बाद से इस्तेमाल नहीं किया जा रहा है

        इस इवेंट के लिए, processId अब सेट नहीं है.

        -1 की वैल्यू.

      • tabId

        संख्या

        उस टैब का आईडी जिसमें नेविगेशन होता है.

      • timeStamp

        संख्या

        गड़बड़ी होने का समय, epoch के बाद से मिलीसेकंड में.

      • url

        स्ट्रिंग

  • फ़िल्टर

    object ज़रूरी नहीं

    • जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.

onHistoryStateUpdated

browser.webNavigation.onHistoryStateUpdated.addListener(
  callback: function,
  filters?: object,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

        लोड किए गए दस्तावेज़ का यूयूआईडी.

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

        दस्तावेज़ की लाइफ़साइकल.

      • frameId

        संख्या

        0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.

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

        वह फ़्रेम जिसमें नेविगेशन हुआ.

      • parentDocumentId

        string ज़रूरी नहीं

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

        इस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो इसे सेट नहीं किया जाता.

      • parentFrameId

        संख्या

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

        पैरंट फ़्रेम का आईडी या -1, अगर यह मुख्य फ़्रेम है.

      • processId

        संख्या

        इस फ़्रेम के लिए रेंडरर को चलाने वाली प्रोसेस का आईडी.

      • tabId

        संख्या

        उस टैब का आईडी जिसमें नेविगेशन होता है.

      • timeStamp

        संख्या

        नेविगेशन शुरू होने का समय, epoch के बाद से मिलीसेकंड में.

      • transitionQualifiers

        ट्रांज़िशन क्वालिफ़ायर की सूची.

      • transitionType

        नेविगेशन की वजह.

      • url

        स्ट्रिंग

  • फ़िल्टर

    object ज़रूरी नहीं

    • जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.

onReferenceFragmentUpdated

browser.webNavigation.onReferenceFragmentUpdated.addListener(
  callback: function,
  filters?: object,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

        लोड किए गए दस्तावेज़ का यूयूआईडी.

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

        दस्तावेज़ की लाइफ़साइकल.

      • frameId

        संख्या

        0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.

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

        वह फ़्रेम जिसमें नेविगेशन हुआ.

      • parentDocumentId

        string ज़रूरी नहीं

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

        इस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो इसे सेट नहीं किया जाता.

      • parentFrameId

        संख्या

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

        पैरंट फ़्रेम का आईडी या -1, अगर यह मुख्य फ़्रेम है.

      • processId

        संख्या

        इस फ़्रेम के लिए रेंडरर को चलाने वाली प्रोसेस का आईडी.

      • tabId

        संख्या

        उस टैब का आईडी जिसमें नेविगेशन होता है.

      • timeStamp

        संख्या

        नेविगेशन शुरू होने का समय, epoch के बाद से मिलीसेकंड में.

      • transitionQualifiers

        ट्रांज़िशन क्वालिफ़ायर की सूची.

      • transitionType

        नेविगेशन की वजह.

      • url

        स्ट्रिंग

  • फ़िल्टर

    object ज़रूरी नहीं

    • जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.

onTabReplaced

browser.webNavigation.onTabReplaced.addListener(
  callback: function,
)

यह तब ट्रिगर होता है, जब टैब के कॉन्टेंट को किसी दूसरे टैब से बदल दिया जाता है. आम तौर पर, यह टैब पहले से रेंडर किया गया होता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • replacedTabId

        संख्या

        बदले गए टैब का आईडी.

      • tabId

        संख्या

        पुराने टैब की जगह लेने वाले टैब का आईडी.

      • timeStamp

        संख्या

        रिप्लेसमेंट होने का समय, epoch के बाद से मिलीसेकंड में.