chrome.webNavigation

ब्यौरा

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

अनुमतियां

webNavigation

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

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

सिद्धांत और इस्तेमाल

इवेंट का क्रम

सही तरीके से पूरा होने वाले नेविगेशन के लिए, इवेंट नीचे दिए गए क्रम में फ़ायर किए जाते हैं:

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

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

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

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

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

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

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

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

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

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

टैब आईडी

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

टाइमस्टैंप वाले हिस्सों में

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

फ़्रेम आईडी

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

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

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

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

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

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

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

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

उदाहरण

इस एपीआई को आज़माने के लिए, chrome-extension-sample डेटा स्टोर करने की जगह से webनेविगेशन एपीआई का उदाहरण इंस्टॉल करें.

टाइप

TransitionQualifier

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

Enum

"client_redirect"

"server_redirect"

"forward_back"

"from_address_bar"

TransitionType

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

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

Enum

"auto_subframe"

"start_page"

"form_submit"

तरीके

getAllFrames()

वादा
chrome.webNavigation.getAllFrames(
  details: object,
  callback?: function,
)

किसी दिए गए टैब के सभी फ़्रेम के बारे में जानकारी देता है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

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

    • tabId

      नंबर

      टैब का आईडी.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (details?: object[])=>void

    • विवरण

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

      दिए गए टैब में फ़्रेम की सूची, अगर तय किया गया टैब आईडी अमान्य है, तो शून्य.

      • documentId

        स्ट्रिंग

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

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

      • documentLifecycle
        Chrome 106 और इसके बाद के वर्शन

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

      • errorOccurred

        boolean

        अगर इस फ़्रेम में आखिरी नेविगेशन किसी गड़बड़ी की वजह से रुक गया था, तो सही होगा. उदाहरण के लिए, onErrorOccurred इवेंट सक्रिय हुआ.

      • frameId

        नंबर

        फ़्रेम का आईडी. 0 से पता चलता है कि यह मुख्य फ़्रेम है. पॉज़िटिव मान से सबफ़्रेम का आईडी पता चलता है.

      • frameType
        Chrome 106 और इसके बाद के वर्शन

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

      • parentDocumentId

        स्ट्रिंग ज़रूरी नहीं

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

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

      • parentFrameId

        नंबर

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

      • processId

        नंबर

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

      • यूआरएल

        स्ट्रिंग

        फ़िलहाल, इस फ़्रेम से जुड़ा यूआरएल.

रिटर्न

  • Promise<object[]|undefined>

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

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

getFrame()

वादा
chrome.webNavigation.getFrame(
  details: object,
  callback?: function,
)

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    फ़्रेम के बारे में जानकारी, जिसके बारे में जानकारी फिर से हासिल करनी है.

    • documentId

      स्ट्रिंग ज़रूरी नहीं

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

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

    • frameId

      नंबर ज़रूरी नहीं

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

    • processId

      नंबर ज़रूरी नहीं

      Chrome 49 के बाद से अब सेवा में नहीं है

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

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

    • tabId

      नंबर ज़रूरी नहीं

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (details?: object)=>void

    • विवरण

      ऑब्जेक्ट ज़रूरी नहीं

      अनुरोध किए गए फ़्रेम के बारे में जानकारी, अगर बताया गया फ़्रेम आईडी और/या टैब आईडी अमान्य है, तो कोई जानकारी नहीं.

      • documentId

        स्ट्रिंग

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

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

      • documentLifecycle
        Chrome 106 और इसके बाद के वर्शन

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

      • errorOccurred

        boolean

        अगर इस फ़्रेम में आखिरी नेविगेशन किसी गड़बड़ी की वजह से रुक गया था, तो सही होगा. उदाहरण के लिए, onErrorOccurred इवेंट सक्रिय हुआ.

      • frameType
        Chrome 106 और इसके बाद के वर्शन

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

      • parentDocumentId

        स्ट्रिंग ज़रूरी नहीं

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

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

      • parentFrameId

        नंबर

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

      • यूआरएल

        स्ट्रिंग

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

रिटर्न

  • Promise<object|undefined>

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

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

इवेंट

onBeforeNavigate

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

नेविगेशन होने वाला होने पर सक्रिय होता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object)=>void

    • विवरण

      ऑब्जेक्ट

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

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

      • frameId

        नंबर

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

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

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

      • parentDocumentId

        स्ट्रिंग ज़रूरी नहीं

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

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

      • parentFrameId

        नंबर

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

      • processId

        नंबर

        Chrome 50 के बाद से अब सेवा में नहीं है

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

        -1 का मान.

      • tabId

        नंबर

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

      • timeStamp

        नंबर

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

      • यूआरएल

        स्ट्रिंग

  • फ़िल्टर

    ऑब्जेक्ट ज़रूरी नहीं

    • यूआरएल

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

onCommitted

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object)=>void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • frameId

        नंबर

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

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

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

      • parentDocumentId

        स्ट्रिंग ज़रूरी नहीं

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

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

      • parentFrameId

        नंबर

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

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

      • processId

        नंबर

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

      • tabId

        नंबर

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

      • timeStamp

        नंबर

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

      • transitionQualifiers

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

      • transitionType

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

      • यूआरएल

        स्ट्रिंग

  • फ़िल्टर

    ऑब्जेक्ट ज़रूरी नहीं

    • यूआरएल

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

onCompleted

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object)=>void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • frameId

        नंबर

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

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

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

      • parentDocumentId

        स्ट्रिंग ज़रूरी नहीं

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

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

      • parentFrameId

        नंबर

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

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

      • processId

        नंबर

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

      • tabId

        नंबर

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

      • timeStamp

        नंबर

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

      • यूआरएल

        स्ट्रिंग

  • फ़िल्टर

    ऑब्जेक्ट ज़रूरी नहीं

    • यूआरएल

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

onCreatedNavigationTarget

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object)=>void

    • विवरण

      ऑब्जेक्ट

      • sourceFrameId

        नंबर

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

      • sourceProcessId

        नंबर

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

      • sourceTabId

        नंबर

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

      • tabId

        नंबर

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

      • timeStamp

        नंबर

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

      • यूआरएल

        स्ट्रिंग

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

  • फ़िल्टर

    ऑब्जेक्ट ज़रूरी नहीं

    • यूआरएल

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

onDOMContentLoaded

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object)=>void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • frameId

        नंबर

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

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

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

      • parentDocumentId

        स्ट्रिंग ज़रूरी नहीं

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

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

      • parentFrameId

        नंबर

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

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

      • processId

        नंबर

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

      • tabId

        नंबर

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

      • timeStamp

        नंबर

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

      • यूआरएल

        स्ट्रिंग

  • फ़िल्टर

    ऑब्जेक्ट ज़रूरी नहीं

    • यूआरएल

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

onErrorOccurred

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object)=>void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • गड़बड़ी

        स्ट्रिंग

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

      • frameId

        नंबर

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

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

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

      • parentDocumentId

        स्ट्रिंग ज़रूरी नहीं

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

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

      • parentFrameId

        नंबर

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

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

      • processId

        नंबर

        Chrome 50 के बाद से अब सेवा में नहीं है

        इस इवेंट के लिए प्रोसेसId अब सेट नहीं है.

        -1 का मान.

      • tabId

        नंबर

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

      • timeStamp

        नंबर

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

      • यूआरएल

        स्ट्रिंग

  • फ़िल्टर

    ऑब्जेक्ट ज़रूरी नहीं

    • यूआरएल

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

onHistoryStateUpdated

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object)=>void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • frameId

        नंबर

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

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

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

      • parentDocumentId

        स्ट्रिंग ज़रूरी नहीं

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

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

      • parentFrameId

        नंबर

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

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

      • processId

        नंबर

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

      • tabId

        नंबर

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

      • timeStamp

        नंबर

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

      • transitionQualifiers

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

      • transitionType

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

      • यूआरएल

        स्ट्रिंग

  • फ़िल्टर

    ऑब्जेक्ट ज़रूरी नहीं

    • यूआरएल

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

onReferenceFragmentUpdated

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object)=>void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • frameId

        नंबर

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

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

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

      • parentDocumentId

        स्ट्रिंग ज़रूरी नहीं

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

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

      • parentFrameId

        नंबर

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

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

      • processId

        नंबर

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

      • tabId

        नंबर

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

      • timeStamp

        नंबर

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

      • transitionQualifiers

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

      • transitionType

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

      • यूआरएल

        स्ट्रिंग

  • फ़िल्टर

    ऑब्जेक्ट ज़रूरी नहीं

    • यूआरएल

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

onTabReplaced

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object)=>void

    • विवरण

      ऑब्जेक्ट

      • replacedTabId

        नंबर

        उस टैब का आईडी जिसे बदला गया था.

      • tabId

        नंबर

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

      • timeStamp

        नंबर

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