chrome.webNavigation

ब्यौरा

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

अनुमतियां

webNavigation

मेनिफ़ेस्ट

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

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

इवेंट का क्रम

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

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

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

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

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

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

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

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

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

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

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

टैब आईडी

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

टाइमस्टैंप

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

फ़्रेम आईडी

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

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

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

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

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

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

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

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

उदाहरण

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

टाइप

TransitionQualifier

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

Enum

"client_redirect"

"server_redirect"

"forward_back"

"from_address_bar"

TransitionType

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

नेविगेशन की वजह. इतिहास के एपीआई में बताए गए ट्रांज़िशन टाइप का इस्तेमाल किया जाता है. ये ट्रांज़िशन टाइप, 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()

Promise
chrome.webNavigation.getAllFrames(
  details: object,
  callback?: function,
)
: Promise<object[] | undefined>

यह कुकी, किसी टैब के सभी फ़्रेम के बारे में जानकारी इकट्ठा करती है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

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

    • tabId

      संख्या

      टैब का आईडी.

  • कॉलबैक

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

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

    (details?: object[]) => void

    • विवरण

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

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

      • documentId

        स्ट्रिंग

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

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

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

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

      • errorOccurred

        बूलियन

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

      • frameId

        संख्या

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

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

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

      • parentDocumentId

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

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

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

      • parentFrameId

        संख्या

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

      • processId

        संख्या

        उस प्रोसेस का आईडी जो इस फ़्रेम के लिए रेंडरर चलाती है.

      • url

        स्ट्रिंग

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

रिटर्न

  • Promise<object[] | undefined>

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

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getFrame()

Promise
chrome.webNavigation.getFrame(
  details: object,
  callback?: function,
)
: Promise<object | undefined>

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

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

    • documentId

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

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

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

    • frameId

      number ज़रूरी नहीं

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

    • processId

      number ज़रूरी नहीं

      Chrome 49 के बाद से काम नहीं करता

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

      उस प्रोसेस का आईडी जो इस टैब के लिए रेंडरर चलाती है.

    • tabId

      number ज़रूरी नहीं

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

  • कॉलबैक

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

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

    (details?: object) => void

    • विवरण

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

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

      • documentId

        स्ट्रिंग

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

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

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

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

      • errorOccurred

        बूलियन

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

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

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

      • parentDocumentId

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

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

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

      • parentFrameId

        संख्या

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

      • url

        स्ट्रिंग

        फ़िलहाल, इस फ़्रेम से जुड़ा यूआरएल. ऐसा तब होता है, जब 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

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

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

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

      • parentFrameId

        संख्या

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

      • processId

        संख्या

        Chrome 50 के बाद से काम नहीं करता

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

        वैल्यू -1.

      • tabId

        संख्या

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

      • timeStamp

        संख्या

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

      • url

        स्ट्रिंग

  • फ़िल्टर

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

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

onCommitted

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • frameId

        संख्या

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

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

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

      • parentDocumentId

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

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

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

      • parentFrameId

        संख्या

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

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

      • processId

        संख्या

        उस प्रोसेस का आईडी जो इस फ़्रेम के लिए रेंडरर चलाती है.

      • tabId

        संख्या

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

      • timeStamp

        संख्या

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

      • transitionQualifiers

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

      • transitionType

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

      • url

        स्ट्रिंग

  • फ़िल्टर

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

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

onCompleted

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • frameId

        संख्या

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

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

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

      • parentDocumentId

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

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

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

      • parentFrameId

        संख्या

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

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

      • processId

        संख्या

        उस प्रोसेस का आईडी जो इस फ़्रेम के लिए रेंडरर चलाती है.

      • tabId

        संख्या

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

      • timeStamp

        संख्या

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

      • url

        स्ट्रिंग

  • फ़िल्टर

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

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

onCreatedNavigationTarget

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • sourceFrameId

        संख्या

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

      • sourceProcessId

        संख्या

        यह उस प्रोसेस का आईडी होता है जो सोर्स फ़्रेम के लिए रेंडरर चलाती है.

      • sourceTabId

        संख्या

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

      • tabId

        संख्या

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

      • timeStamp

        संख्या

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

      • url

        स्ट्रिंग

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

  • फ़िल्टर

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

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

onDOMContentLoaded

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

यह इवेंट तब ट्रिगर होता है, जब पेज का DOM पूरी तरह से बन जाता है. हालांकि, ऐसा हो सकता है कि रेफ़र की गई संसाधन फ़ाइलें लोड न हों.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • frameId

        संख्या

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

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

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

      • parentDocumentId

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

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

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

      • parentFrameId

        संख्या

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

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

      • processId

        संख्या

        उस प्रोसेस का आईडी जो इस फ़्रेम के लिए रेंडरर चलाती है.

      • tabId

        संख्या

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

      • timeStamp

        संख्या

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

      • url

        स्ट्रिंग

  • फ़िल्टर

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

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

onErrorOccurred

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • गड़बड़ी

        स्ट्रिंग

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

      • frameId

        संख्या

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

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

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

      • parentDocumentId

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

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

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

      • parentFrameId

        संख्या

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

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

      • processId

        संख्या

        Chrome 50 के बाद से काम नहीं करता

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

        वैल्यू -1.

      • tabId

        संख्या

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

      • timeStamp

        संख्या

        Epoch के बाद से मिलीसेकंड में वह समय जब गड़बड़ी हुई.

      • url

        स्ट्रिंग

  • फ़िल्टर

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

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

onHistoryStateUpdated

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • frameId

        संख्या

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

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

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

      • parentDocumentId

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

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

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

      • parentFrameId

        संख्या

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

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

      • processId

        संख्या

        उस प्रोसेस का आईडी जो इस फ़्रेम के लिए रेंडरर चलाती है.

      • tabId

        संख्या

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

      • timeStamp

        संख्या

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

      • transitionQualifiers

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

      • transitionType

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

      • url

        स्ट्रिंग

  • फ़िल्टर

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

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

onReferenceFragmentUpdated

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग

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

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

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

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

      • frameId

        संख्या

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

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

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

      • parentDocumentId

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

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

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

      • parentFrameId

        संख्या

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

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

      • processId

        संख्या

        उस प्रोसेस का आईडी जो इस फ़्रेम के लिए रेंडरर चलाती है.

      • tabId

        संख्या

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

      • timeStamp

        संख्या

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

      • transitionQualifiers

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

      • transitionType

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

      • url

        स्ट्रिंग

  • फ़िल्टर

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

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

onTabReplaced

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • replacedTabId

        संख्या

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

      • tabId

        संख्या

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

      • timeStamp

        संख्या

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