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