ब्यौरा
chrome.webNavigation एपीआई का इस्तेमाल करके, फ़्लाइट के दौरान नेविगेशन के अनुरोधों की स्थिति के बारे में सूचनाएं पाएं.
अनुमतियां
webNavigationbrowser.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
Enum
"client_redirect"
"server_redirect"
"forward_back"
"from_address_bar"
TransitionType
नेविगेशन की वजह. इसमें, 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.*
दस्तावेज़ की लाइफ़साइकल.
-
संख्या
0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब और प्रोसेस के लिए यूनीक होते हैं.
-
Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*
वह फ़्रेम जिसमें नेविगेशन हुआ.
-
string ज़रूरी नहीं
Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*इस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो इसे सेट नहीं किया जाता.
-
संख्या
पैरंट फ़्रेम का आईडी या
-1, अगर यह मुख्य फ़्रेम है. -
संख्या
Chrome 50 के बाद से इस्तेमाल नहीं किया जा रहा हैइस इवेंट के लिए, processId अब सेट नहीं किया गया है. ऐसा इसलिए, क्योंकि नतीजे के तौर पर मिलने वाले दस्तावेज़ को रेंडर करने वाली प्रोसेस की जानकारी, onCommit तक नहीं होती.
-1 की वैल्यू.
-
संख्या
उस टैब का आईडी जिसमें नेविगेशन होने वाला है.
-
संख्या
वह समय जब ब्राउज़र नेविगेशन शुरू करने वाला था. यह समय, epoch के बाद से मिलीसेकंड में होता है.
-
स्ट्रिंग
-
-
-
object ज़रूरी नहीं
-
जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.
-
onCommitted
browser.webNavigation.onCommitted.addListener(
callback: function,
filters?: object,
)
नेविगेशन पूरा होने पर ट्रिगर होता है. ऐसा हो सकता है कि दस्तावेज़ और उससे जुड़े रिसॉर्स, जैसे कि इमेज और सबफ़्रेम अब भी डाउनलोड हो रहे हों. हालांकि, दस्तावेज़ का कम से कम कुछ हिस्सा सर्वर से मिल गया है और ब्राउज़र ने नए दस्तावेज़ पर स्विच करने का फ़ैसला किया है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
-
documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*लोड किए गए दस्तावेज़ का यूयूआईडी.
-
documentLifecycleChrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*
दस्तावेज़ की लाइफ़साइकल.
-
frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.
-
frameTypeChrome 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 ज़रूरी नहीं
-
url
जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.
-
onCompleted
browser.webNavigation.onCompleted.addListener(
callback: function,
filters?: object,
)
यह इवेंट तब ट्रिगर होता है, जब कोई दस्तावेज़ पूरी तरह से लोड हो जाता है और शुरू हो जाता है. इसमें वे संसाधन भी शामिल हैं जिनका रेफ़रंस दस्तावेज़ में दिया गया है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
-
documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*लोड किए गए दस्तावेज़ का यूयूआईडी.
-
documentLifecycleChrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*
दस्तावेज़ की लाइफ़साइकल.
-
frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.
-
frameTypeChrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*
वह फ़्रेम जिसमें नेविगेशन हुआ.
-
parentDocumentId
string ज़रूरी नहीं
Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*इस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो इसे सेट नहीं किया जाता.
-
parentFrameId
संख्या
Chrome 74+ browser.* Chrome 148 के बाद सेपैरंट फ़्रेम का आईडी या
-1, अगर यह मुख्य फ़्रेम है. -
processId
संख्या
इस फ़्रेम के लिए रेंडरर को चलाने वाली प्रोसेस का आईडी.
-
tabId
संख्या
उस टैब का आईडी जिसमें नेविगेशन होता है.
-
timeStamp
संख्या
दस्तावेज़ के पूरी तरह लोड होने का समय, epoch के बाद से मिलीसेकंड में.
-
url
स्ट्रिंग
-
-
-
फ़िल्टर
object ज़रूरी नहीं
-
url
जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.
-
onCreatedNavigationTarget
browser.webNavigation.onCreatedNavigationTarget.addListener(
callback: function,
filters?: object,
)
यह इवेंट तब ट्रिगर होता है, जब नेविगेशन को होस्ट करने के लिए कोई नई विंडो या किसी मौजूदा विंडो में नया टैब बनाया जाता है.
पैरामीटर
-
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(details: object) => void
-
ऑब्जेक्ट
-
संख्या
sourceTabId वाले उस फ़्रेम का आईडी जिसमें नेविगेशन ट्रिगर किया गया है. 0 मुख्य फ़्रेम को दिखाता है.
-
संख्या
सोर्स फ़्रेम के लिए रेंडरर को चलाने वाली प्रोसेस का आईडी.
-
संख्या
उस टैब का आईडी जिसमें नेविगेशन ट्रिगर किया गया है.
-
संख्या
उस टैब का आईडी जिसमें यूआरएल खोला गया है
-
संख्या
वह समय जब ब्राउज़र नया व्यू बनाने वाला था. यह समय, epoch के बाद से मिलीसेकंड में होता है.
-
स्ट्रिंग
नई विंडो में खोला जाने वाला यूआरएल.
-
-
-
object ज़रूरी नहीं
-
जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.
-
onDOMContentLoaded
browser.webNavigation.onDOMContentLoaded.addListener(
callback: function,
filters?: object,
)
यह इवेंट तब ट्रिगर होता है, जब पेज का डीओएम पूरी तरह से बन जाता है. हालांकि, हो सकता है कि रेफ़रंस के तौर पर दिए गए संसाधन लोड न हुए हों.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
-
documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*लोड किए गए दस्तावेज़ का यूयूआईडी.
-
documentLifecycleChrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*
दस्तावेज़ की लाइफ़साइकल.
-
frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.
-
frameTypeChrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*
वह फ़्रेम जिसमें नेविगेशन हुआ.
-
parentDocumentId
string ज़रूरी नहीं
Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*इस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो इसे सेट नहीं किया जाता.
-
parentFrameId
संख्या
Chrome 74+ browser.* Chrome 148 के बाद सेपैरंट फ़्रेम का आईडी या
-1, अगर यह मुख्य फ़्रेम है. -
processId
संख्या
इस फ़्रेम के लिए रेंडरर को चलाने वाली प्रोसेस का आईडी.
-
tabId
संख्या
उस टैब का आईडी जिसमें नेविगेशन होता है.
-
timeStamp
संख्या
वह समय जब पेज का डीओएम पूरी तरह से बनाया गया था. यह समय, epoch के बाद से मिलीसेकंड में होता है.
-
url
स्ट्रिंग
-
-
-
फ़िल्टर
object ज़रूरी नहीं
-
url
जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.
-
onErrorOccurred
browser.webNavigation.onErrorOccurred.addListener(
callback: function,
filters?: object,
)
यह इवेंट तब ट्रिगर होता है, जब कोई गड़बड़ी होती है और नेविगेशन को रद्द कर दिया जाता है. ऐसा तब हो सकता है, जब नेटवर्क की कोई गड़बड़ी हुई हो या उपयोगकर्ता ने नेविगेशन को रद्द कर दिया हो.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
-
documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*लोड किए गए दस्तावेज़ का यूयूआईडी.
-
documentLifecycleChrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*
दस्तावेज़ की लाइफ़साइकल.
-
गड़बड़ी
स्ट्रिंग
गड़बड़ी की जानकारी.
-
frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.
-
frameTypeChrome 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 ज़रूरी नहीं
-
url
जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.
-
onHistoryStateUpdated
browser.webNavigation.onHistoryStateUpdated.addListener(
callback: function,
filters?: object,
)
यह इवेंट तब ट्रिगर होता है, जब फ़्रेम के इतिहास को नए यूआरएल पर अपडेट किया जाता है. उस फ़्रेम के लिए आने वाले समय के सभी इवेंट, अपडेट किए गए यूआरएल का इस्तेमाल करेंगे.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
-
documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*लोड किए गए दस्तावेज़ का यूयूआईडी.
-
documentLifecycleChrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*
दस्तावेज़ की लाइफ़साइकल.
-
frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.
-
frameTypeChrome 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 ज़रूरी नहीं
-
url
जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.
-
onReferenceFragmentUpdated
browser.webNavigation.onReferenceFragmentUpdated.addListener(
callback: function,
filters?: object,
)
यह इवेंट तब ट्रिगर होता है, जब किसी फ़्रेम का रेफ़रंस फ़्रैगमेंट अपडेट किया जाता है. उस फ़्रेम के लिए आने वाले समय के सभी इवेंट, अपडेट किए गए यूआरएल का इस्तेमाल करेंगे.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
-
documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*लोड किए गए दस्तावेज़ का यूयूआईडी.
-
documentLifecycleChrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*
दस्तावेज़ की लाइफ़साइकल.
-
frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब कॉन्टेंट विंडो में होता है. वहीं, पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.
-
frameTypeChrome 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 ज़रूरी नहीं
-
url
जिस यूआरएल पर नेविगेट किया जा रहा है उसे ये शर्तें पूरी करनी होंगी.
-
onTabReplaced
browser.webNavigation.onTabReplaced.addListener(
callback: function,
)
यह तब ट्रिगर होता है, जब टैब के कॉन्टेंट को किसी दूसरे टैब से बदल दिया जाता है. आम तौर पर, यह टैब पहले से रेंडर किया गया होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
-
replacedTabId
संख्या
बदले गए टैब का आईडी.
-
tabId
संख्या
पुराने टैब की जगह लेने वाले टैब का आईडी.
-
timeStamp
संख्या
रिप्लेसमेंट होने का समय, epoch के बाद से मिलीसेकंड में.
-
-