ब्यौरा
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
प्रॉपर्टी की वैल्यू, इंटरनल तौर पर एक जैसी होगी.timeStamp
एक इवेंट की तुलना दूसरे इवेंट से करने पर, आपको उनके बीच का सही ऑफ़सेट मिलेगा. हालांकि, एक्सटेंशन में मौजूद मौजूदा समय से उनकी तुलना करने पर (उदाहरण के लिए, (new Date()).getTime()
का इस्तेमाल करके), आपको अनचाहे नतीजे मिल सकते हैं.
फ़्रेम आईडी
किसी टैब में मौजूद फ़्रेम की पहचान, फ़्रेम आईडी से की जा सकती है. मुख्य फ़्रेम का आईडी हमेशा 0 होता है. चाइल्ड फ़्रेम का आईडी एक पॉज़िटिव नंबर होता है. किसी दस्तावेज़ को फ़्रेम में बनाने के बाद, दस्तावेज़ के पूरे लाइफ़टाइम के दौरान उसका फ़्रेम आईडी एक जैसा रहता है. Chrome 49 के बाद से, यह आईडी फ़्रेम के लिए हमेशा एक जैसा रहता है. भले ही, फ़्रेम को कई बार नेविगेट किया गया हो.
Chrome में एक साथ कई प्रोसेस चलती हैं. इसलिए, कोई टैब किसी वेब पेज के सोर्स और डेस्टिनेशन को रेंडर करने के लिए अलग-अलग प्रोसेस का इस्तेमाल कर सकता है. इसलिए, अगर नेविगेशन नई प्रोसेस में होता है, तो आपको नए और पुराने, दोनों पेजों से इवेंट मिल सकते हैं.ऐसा तब तक होता है, जब तक नया नेविगेशन पूरा नहीं हो जाता. इसका मतलब है कि onCommitted
इवेंट को नए मेन फ़्रेम के लिए भेजा जाता है. दूसरे शब्दों में कहें, तो ऐसा हो सकता है कि एक ही के लिए, webNavigation इवेंट के एक से ज़्यादा सीक्वेंस प्रोसेस होने के लिए बाकी हों.frameId
processId
कुंजी की मदद से, सिक्वेंस के बीच अंतर किया जा सकता है.
यह भी ध्यान दें कि कुछ समय के लिए लोड होने के दौरान, प्रोसेस को कई बार स्विच किया जा सकता है. ऐसा तब होता है, जब लोड को किसी दूसरी साइट पर रीडायरेक्ट किया जाता है. इस मामले में, आपको onBeforeNavigate
और onErrorOccurred
इवेंट बार-बार मिलेंगे. ऐसा तब तक होगा, जब तक आपको फ़ाइनल onCommitted
इवेंट नहीं मिल जाता.
एक्सटेंशन के साथ एक और समस्या यह है कि फ़्रेम का लाइफ़साइकल कैसा होना चाहिए. फ़्रेम में एक दस्तावेज़ होता है, जो किसी यूआरएल से जुड़ा होता है. दस्तावेज़ बदल सकता है (जैसे, नेविगेट करके), लेकिन frameId नहीं बदलेगा. इसलिए, किसी खास दस्तावेज़ में हुई किसी गतिविधि को सिर्फ़ frameId से जोड़ना मुश्किल होता है. हम 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 में बताए गए ट्रांज़िशन टाइप के जैसे ही होते हैं. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, इनमें "auto_toplevel"
की जगह "start_page"
का इस्तेमाल किया जाता है.
Enum
"link"
"typed"
"auto_bookmark"
"auto_subframe"
"manual_subframe"
"generated"
"start_page"
"form_submit"
"reload"
"keyword"
"keyword_generated"
तरीके
getAllFrames()
chrome.webNavigation.getAllFrames(
details: object,
): Promise<object[] | undefined>
यह फ़ंक्शन, किसी टैब के सभी फ़्रेम के बारे में जानकारी वापस लाता है.
पैरामीटर
- विवरण
ऑब्जेक्ट
उस टैब के बारे में जानकारी जिससे सभी फ़्रेम वापस लाए जा सकते हैं.
- tabId
संख्या
टैब का आईडी.
-
रिटर्न
-
Promise<object[] | undefined>
Chrome 93 या इसके बाद के वर्शन
getFrame()
chrome.webNavigation.getFrame(
details: object,
): Promise<object | undefined>
यह फ़ंक्शन, दिए गए फ़्रेम के बारे में जानकारी देता है. फ़्रेम का मतलब किसी वेब पेज के <iframe> या <frame> से है. इसकी पहचान टैब आईडी और फ़्रेम आईडी से होती है.
पैरामीटर
- विवरण
ऑब्जेक्ट
जिस फ़्रेम के बारे में जानकारी चाहिए उसकी जानकारी.
- documentId
string ज़रूरी नहीं है
Chrome 106 और इसके बाद के वर्शनदस्तावेज़ का यूयूआईडी. अगर frameId और/या tabId दिए गए हैं, तो उनकी पुष्टि की जाएगी. इससे यह पता चलेगा कि वे दिए गए दस्तावेज़ आईडी से मिले दस्तावेज़ से मेल खाते हैं या नहीं.
- frameId
number ज़रूरी नहीं
दिए गए टैब में फ़्रेम का आईडी.
- processId
number ज़रूरी नहीं
Chrome 49 के बाद से काम नहीं करताअब फ़्रेम की पहचान, उनके टैब आईडी और फ़्रेम आईडी से की जाती है. प्रोसेस आईडी की अब ज़रूरत नहीं है. इसलिए, इसे अनदेखा कर दिया जाता है.
उस प्रोसेस का आईडी जो इस टैब के लिए रेंडरर चलाती है.
- tabId
number ज़रूरी नहीं
उस टैब का आईडी जिसमें फ़्रेम मौजूद है.
-
रिटर्न
-
Promise<object | undefined>
Chrome 93 या इसके बाद के वर्शन
इवेंट
onBeforeNavigate
chrome.webNavigation.onBeforeNavigate.addListener(
callback: function,
filters?: object,
)
नेविगेशन शुरू होने पर सक्रिय होता है.
पैरामीटर
-
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(details: object) => void
-
ऑब्जेक्ट
- Chrome 106 और इसके बाद के वर्शन
दस्तावेज़ का लाइफ़साइकल.
-
संख्या
0 का मतलब है कि नेविगेशन, टैब के कॉन्टेंट विंडो में होता है. पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, किसी टैब और प्रोसेस के लिए यूनीक होते हैं.
- Chrome 106 और इसके बाद के वर्शन
नेविगेशन किस तरह के फ़्रेम में हुआ.
-
string ज़रूरी नहीं है
Chrome 106 और इसके बाद के वर्शनइस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो यह कुकी सेट नहीं की जाती है.
-
संख्या
पैरंट फ़्रेम का आईडी या अगर यह मुख्य फ़्रेम है, तो
-1
. -
संख्या
Chrome 50 के बाद से काम नहीं करताइस इवेंट के लिए processId अब सेट नहीं किया गया है, क्योंकि नतीजे के तौर पर मिले दस्तावेज़ को रेंडर करने वाली प्रोसेस के बारे में onCommit तक पता नहीं चलता.
वैल्यू -1.
-
संख्या
उस टैब का आईडी जिसमें नेविगेशन होने वाला है.
-
संख्या
वह समय, जब ब्राउज़र ने नेविगेशन शुरू किया था. यह समय, Epoch के बाद से मिलीसेकंड में होता है.
-
स्ट्रिंग
-
-
-
object ज़रूरी नहीं है
-
वे शर्तें जिन्हें नेविगेट किए जा रहे यूआरएल को पूरा करना होगा. इस इवेंट के लिए, UrlFilter के 'schemes' और 'ports' फ़ील्ड को अनदेखा कर दिया जाता है.
-
onCommitted
chrome.webNavigation.onCommitted.addListener(
callback: function,
filters?: object,
)
जब नेविगेशन पूरा हो जाता है, तब यह इवेंट ट्रिगर होता है. दस्तावेज़ (और उससे जुड़े संसाधन, जैसे कि इमेज और सबफ़्रेम) अब भी डाउनलोड हो रहे होंगे. हालांकि, दस्तावेज़ का कम से कम कुछ हिस्सा सर्वर से मिल गया है और ब्राउज़र ने नए दस्तावेज़ पर स्विच करने का फ़ैसला कर लिया है.
पैरामीटर
- कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(details: object) => void
- विवरण
ऑब्जेक्ट
- documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शनलोड किए गए दस्तावेज़ का यूयूआईडी.
- documentLifecycleChrome 106 और इसके बाद के वर्शन
दस्तावेज़ का लाइफ़साइकल.
- frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब के कॉन्टेंट विंडो में होता है. पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, टैब में यूनीक होते हैं.
- frameTypeChrome 106 और इसके बाद के वर्शन
नेविगेशन किस तरह के फ़्रेम में हुआ.
- parentDocumentId
string ज़रूरी नहीं है
Chrome 106 और इसके बाद के वर्शनइस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो यह कुकी सेट नहीं की जाती है.
- parentFrameId
संख्या
Chrome 74 या इसके बाद का वर्शनपैरंट फ़्रेम का आईडी या अगर यह मुख्य फ़्रेम है, तो
-1
. - processId
संख्या
उस प्रोसेस का आईडी जो इस फ़्रेम के लिए रेंडरर को चलाती है.
- tabId
संख्या
उस टैब का आईडी जिसमें नेविगेशन होता है.
- timeStamp
संख्या
epoch के बाद से मिलीसेकंड में, नेविगेशन के कमिट होने का समय.
- transitionQualifiers
ट्रांज़िशन क्वालिफ़ायर की सूची.
- transitionType
नेविगेशन की वजह.
- url
स्ट्रिंग
-
-
- फ़िल्टर
object ज़रूरी नहीं है
- url
वे शर्तें जिन्हें नेविगेट किए जा रहे यूआरएल को पूरा करना होगा. इस इवेंट के लिए, UrlFilter के 'schemes' और 'ports' फ़ील्ड को अनदेखा कर दिया जाता है.
-
onCompleted
chrome.webNavigation.onCompleted.addListener(
callback: function,
filters?: object,
)
यह इवेंट तब ट्रिगर होता है, जब दस्तावेज़ और उससे जुड़े सभी संसाधन पूरी तरह से लोड हो जाते हैं और शुरू हो जाते हैं.
पैरामीटर
- कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(details: object) => void
- विवरण
ऑब्जेक्ट
- documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शनलोड किए गए दस्तावेज़ का यूयूआईडी.
- documentLifecycleChrome 106 और इसके बाद के वर्शन
दस्तावेज़ का लाइफ़साइकल.
- frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब के कॉन्टेंट विंडो में होता है. पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, टैब में यूनीक होते हैं.
- frameTypeChrome 106 और इसके बाद के वर्शन
नेविगेशन किस तरह के फ़्रेम में हुआ.
- parentDocumentId
string ज़रूरी नहीं है
Chrome 106 और इसके बाद के वर्शनइस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो यह कुकी सेट नहीं की जाती है.
- parentFrameId
संख्या
Chrome 74 या इसके बाद का वर्शनपैरंट फ़्रेम का आईडी या अगर यह मुख्य फ़्रेम है, तो
-1
. - processId
संख्या
उस प्रोसेस का आईडी जो इस फ़्रेम के लिए रेंडरर को चलाती है.
- tabId
संख्या
उस टैब का आईडी जिसमें नेविगेशन होता है.
- timeStamp
संख्या
दस्तावेज़ के लोड होने का समय. यह समय, epoch के बाद से मिलीसेकंड में होता है.
- url
स्ट्रिंग
-
-
- फ़िल्टर
object ज़रूरी नहीं है
- url
वे शर्तें जिन्हें नेविगेट किए जा रहे यूआरएल को पूरा करना होगा. इस इवेंट के लिए, UrlFilter के 'schemes' और 'ports' फ़ील्ड को अनदेखा कर दिया जाता है.
-
onCreatedNavigationTarget
chrome.webNavigation.onCreatedNavigationTarget.addListener(
callback: function,
filters?: object,
)
यह इवेंट तब ट्रिगर होता है, जब नेविगेशन को होस्ट करने के लिए कोई नई विंडो या मौजूदा विंडो में कोई नया टैब बनाया जाता है.
पैरामीटर
-
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(details: object) => void
-
ऑब्जेक्ट
-
संख्या
उस फ़्रेम का आईडी जिसमें sourceTabId मौजूद है और जिसमें नेविगेशन ट्रिगर किया गया है. 0, मुख्य फ़्रेम को दिखाता है.
-
संख्या
उस प्रोसेस का आईडी जो सोर्स फ़्रेम के लिए रेंडरर चलाती है.
-
संख्या
उस टैब का आईडी जिसमें नेविगेशन ट्रिगर किया गया है.
-
संख्या
उस टैब का आईडी जिसमें यूआरएल खोला गया है
-
संख्या
यह उस समय के बारे में बताता है, जब ब्राउज़र नया व्यू बनाने वाला था. यह समय, युग की शुरुआत से लेकर अब तक के मिलीसेकंड में होता है.
-
स्ट्रिंग
वह यूआरएल जिसे नई विंडो में खोलना है.
-
-
-
object ज़रूरी नहीं है
-
वे शर्तें जिन्हें नेविगेट किए जा रहे यूआरएल को पूरा करना होगा. इस इवेंट के लिए, UrlFilter के 'schemes' और 'ports' फ़ील्ड को अनदेखा कर दिया जाता है.
-
onDOMContentLoaded
chrome.webNavigation.onDOMContentLoaded.addListener(
callback: function,
filters?: object,
)
यह इवेंट तब ट्रिगर होता है, जब पेज का DOM पूरी तरह से बन जाता है. हालांकि, ऐसा हो सकता है कि रेफ़र किए गए संसाधन लोड न हों.
पैरामीटर
- कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(details: object) => void
- विवरण
ऑब्जेक्ट
- documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शनलोड किए गए दस्तावेज़ का यूयूआईडी.
- documentLifecycleChrome 106 और इसके बाद के वर्शन
दस्तावेज़ का लाइफ़साइकल.
- frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब के कॉन्टेंट विंडो में होता है. पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, टैब में यूनीक होते हैं.
- frameTypeChrome 106 और इसके बाद के वर्शन
नेविगेशन किस तरह के फ़्रेम में हुआ.
- parentDocumentId
string ज़रूरी नहीं है
Chrome 106 और इसके बाद के वर्शनइस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो यह कुकी सेट नहीं की जाती है.
- parentFrameId
संख्या
Chrome 74 या इसके बाद का वर्शनपैरंट फ़्रेम का आईडी या अगर यह मुख्य फ़्रेम है, तो
-1
. - processId
संख्या
उस प्रोसेस का आईडी जो इस फ़्रेम के लिए रेंडरर को चलाती है.
- tabId
संख्या
उस टैब का आईडी जिसमें नेविगेशन होता है.
- timeStamp
संख्या
यह उस समय के बारे में बताता है जब पेज का DOM पूरी तरह से बन गया था. यह समय, Epoch के बाद के मिलीसेकंड में होता है.
- url
स्ट्रिंग
-
-
- फ़िल्टर
object ज़रूरी नहीं है
- url
वे शर्तें जिन्हें नेविगेट किए जा रहे यूआरएल को पूरा करना होगा. इस इवेंट के लिए, UrlFilter के 'schemes' और 'ports' फ़ील्ड को अनदेखा कर दिया जाता है.
-
onErrorOccurred
chrome.webNavigation.onErrorOccurred.addListener(
callback: function,
filters?: object,
)
यह इवेंट तब ट्रिगर होता है, जब कोई गड़बड़ी होती है और नेविगेशन बंद हो जाता है. ऐसा तब हो सकता है, जब नेटवर्क में कोई गड़बड़ी हुई हो या उपयोगकर्ता ने नेविगेशन बंद कर दिया हो.
पैरामीटर
- कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(details: object) => void
- विवरण
ऑब्जेक्ट
- documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शनलोड किए गए दस्तावेज़ का यूयूआईडी.
- documentLifecycleChrome 106 और इसके बाद के वर्शन
दस्तावेज़ का लाइफ़साइकल.
- गड़बड़ी
स्ट्रिंग
गड़बड़ी की जानकारी.
- frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब के कॉन्टेंट विंडो में होता है. पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, टैब में यूनीक होते हैं.
- frameTypeChrome 106 और इसके बाद के वर्शन
नेविगेशन किस तरह के फ़्रेम में हुआ.
- parentDocumentId
string ज़रूरी नहीं है
Chrome 106 और इसके बाद के वर्शनइस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो यह कुकी सेट नहीं की जाती है.
- parentFrameId
संख्या
Chrome 74 या इसके बाद का वर्शनपैरंट फ़्रेम का आईडी या अगर यह मुख्य फ़्रेम है, तो
-1
. - processId
संख्या
Chrome 50 के बाद से काम नहीं करताइस इवेंट के लिए, processId अब सेट नहीं किया गया है.
वैल्यू -1.
- tabId
संख्या
उस टैब का आईडी जिसमें नेविगेशन होता है.
- timeStamp
संख्या
गड़बड़ी होने का समय. यह समय, Epoch के बाद से मिलीसेकंड में होता है.
- url
स्ट्रिंग
-
-
- फ़िल्टर
object ज़रूरी नहीं है
- url
वे शर्तें जिन्हें नेविगेट किए जा रहे यूआरएल को पूरा करना होगा. इस इवेंट के लिए, UrlFilter के 'schemes' और 'ports' फ़ील्ड को अनदेखा कर दिया जाता है.
-
onHistoryStateUpdated
chrome.webNavigation.onHistoryStateUpdated.addListener(
callback: function,
filters?: object,
)
यह इवेंट तब ट्रिगर होता है, जब फ़्रेम के इतिहास को नए यूआरएल पर अपडेट किया जाता है. उस फ़्रेम के लिए, आने वाले समय में होने वाले सभी इवेंट में अपडेट किए गए यूआरएल का इस्तेमाल किया जाएगा.
पैरामीटर
- कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(details: object) => void
- विवरण
ऑब्जेक्ट
- documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शनलोड किए गए दस्तावेज़ का यूयूआईडी.
- documentLifecycleChrome 106 और इसके बाद के वर्शन
दस्तावेज़ का लाइफ़साइकल.
- frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब के कॉन्टेंट विंडो में होता है. पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, टैब में यूनीक होते हैं.
- frameTypeChrome 106 और इसके बाद के वर्शन
नेविगेशन किस तरह के फ़्रेम में हुआ.
- parentDocumentId
string ज़रूरी नहीं है
Chrome 106 और इसके बाद के वर्शनइस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो यह कुकी सेट नहीं की जाती है.
- parentFrameId
संख्या
Chrome 74 या इसके बाद का वर्शनपैरंट फ़्रेम का आईडी या अगर यह मुख्य फ़्रेम है, तो
-1
. - processId
संख्या
उस प्रोसेस का आईडी जो इस फ़्रेम के लिए रेंडरर को चलाती है.
- tabId
संख्या
उस टैब का आईडी जिसमें नेविगेशन होता है.
- timeStamp
संख्या
epoch के बाद से मिलीसेकंड में, नेविगेशन के कमिट होने का समय.
- transitionQualifiers
ट्रांज़िशन क्वालिफ़ायर की सूची.
- transitionType
नेविगेशन की वजह.
- url
स्ट्रिंग
-
-
- फ़िल्टर
object ज़रूरी नहीं है
- url
वे शर्तें जिन्हें नेविगेट किए जा रहे यूआरएल को पूरा करना होगा. इस इवेंट के लिए, UrlFilter के 'schemes' और 'ports' फ़ील्ड को अनदेखा कर दिया जाता है.
-
onReferenceFragmentUpdated
chrome.webNavigation.onReferenceFragmentUpdated.addListener(
callback: function,
filters?: object,
)
इस इवेंट को तब ट्रिगर किया जाता है, जब किसी फ़्रेम के रेफ़रंस फ़्रैगमेंट को अपडेट किया जाता है. उस फ़्रेम के लिए, आने वाले समय में होने वाले सभी इवेंट में अपडेट किए गए यूआरएल का इस्तेमाल किया जाएगा.
पैरामीटर
- कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(details: object) => void
- विवरण
ऑब्जेक्ट
- documentId
स्ट्रिंग
Chrome 106 और इसके बाद के वर्शनलोड किए गए दस्तावेज़ का यूयूआईडी.
- documentLifecycleChrome 106 और इसके बाद के वर्शन
दस्तावेज़ का लाइफ़साइकल.
- frameId
संख्या
0 का मतलब है कि नेविगेशन, टैब के कॉन्टेंट विंडो में होता है. पॉज़िटिव वैल्यू का मतलब है कि नेविगेशन, सबफ़्रेम में होता है. फ़्रेम आईडी, टैब में यूनीक होते हैं.
- frameTypeChrome 106 और इसके बाद के वर्शन
नेविगेशन किस तरह के फ़्रेम में हुआ.
- parentDocumentId
string ज़रूरी नहीं है
Chrome 106 और इसके बाद के वर्शनइस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो यह कुकी सेट नहीं की जाती है.
- parentFrameId
संख्या
Chrome 74 या इसके बाद का वर्शनपैरंट फ़्रेम का आईडी या अगर यह मुख्य फ़्रेम है, तो
-1
. - processId
संख्या
उस प्रोसेस का आईडी जो इस फ़्रेम के लिए रेंडरर को चलाती है.
- tabId
संख्या
उस टैब का आईडी जिसमें नेविगेशन होता है.
- timeStamp
संख्या
epoch के बाद से मिलीसेकंड में, नेविगेशन के कमिट होने का समय.
- transitionQualifiers
ट्रांज़िशन क्वालिफ़ायर की सूची.
- transitionType
नेविगेशन की वजह.
- url
स्ट्रिंग
-
-
- फ़िल्टर
object ज़रूरी नहीं है
- url
वे शर्तें जिन्हें नेविगेट किए जा रहे यूआरएल को पूरा करना होगा. इस इवेंट के लिए, UrlFilter के 'schemes' और 'ports' फ़ील्ड को अनदेखा कर दिया जाता है.
-
onTabReplaced
chrome.webNavigation.onTabReplaced.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब टैब के कॉन्टेंट को किसी दूसरे टैब से बदल दिया जाता है. आम तौर पर, यह ऐसा टैब होता है जिसे पहले से रेंडर किया गया हो.
पैरामीटर
- कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(details: object) => void
- विवरण
ऑब्जेक्ट
- replacedTabId
संख्या
बदले गए टैब का आईडी.
- tabId
संख्या
उस टैब का आईडी जिसने पुराने टैब की जगह ली है.
- timeStamp
संख्या
Epoch के बाद से, मिलीसेकंड में वह समय जब बदलाव किया गया था.
-
-