क्रोम एक्सटेंशन में HTTP हेडर रिस्पॉन्स कैप्चर करना
बैकग्राउंड
क्रोम एक्सटेंशन कार्यक्षमता प्रदान करते हैं अनुरोध शीर्षलेखों को भेजने से पहले उन्हें संशोधित करने के लिए। हालाँकि, रिस्पॉन्स हेडर तक पहुंच सीधे एक्सटेंशन एपीआई द्वारा समर्थित नहीं है। नेटवर्क गतिविधि पर नज़र रखने के लिए वेबसाइट का DOM। यह तकनीक निम्नलिखित कोड का उपयोग करती है:
// पृष्ठभूमि स्क्रिप्ट: inject.js var s = document.createElement('script'); s.src = chrome.runtime.getURL('injected.js'); एस.ऑनलोड = फ़ंक्शन() { यह.निकालें(); }; (document.head || document.documentElement).appendChild(s); // सामग्री स्क्रिप्ट: इंजेक्ट.जे.एस (फ़ंक्शन(xhr) { // XMLHttpRequest विधियों को ओवरराइड करें var XHR = XMLHttpRequest.prototype; ['खुला', 'setRequestHeader', 'भेजें'].forEach(function(method) { var मूलविधि = XHR[विधि]; XHR[विधि] = फ़ंक्शन() { // घटनाओं को रोकें और अनुरोध और प्रतिक्रिया हेडर कैप्चर करें ... }; }); })(XMLHttpRequest);
मैनिफ़ेस्ट कॉन्फ़िगरेशन// Background script: inject.js var s = document.createElement('script'); s.src = chrome.runtime.getURL('injected.js'); s.onload = function() { this.remove(); }; (document.head || document.documentElement).appendChild(s); // Content script: injected.js (function(xhr) { // Override XMLHttpRequest methods var XHR = XMLHttpRequest.prototype; ['open', 'setRequestHeader', 'send'].forEach(function(method) { var originalMethod = XHR[method]; XHR[method] = function() { // Intercept events and capture request and response headers ... }; }); })(XMLHttpRequest);
"content_scripts": [{ "मिलान": ["*://website.com/*"], "run_at": "document_start", "js": ["contentscript.js", "inject.js"] }], "वेब_एक्सेसिबल_संसाधन": [{ "संसाधन": ["इंजेक्टेड.जेएस"], "मिलान": ["*://website.com/*"] }]
परिणाम"content_scripts": [{ "matches": ["*://website.com/*"], "run_at": "document_start", "js": ["contentscript.js", "inject.js"] }], "web_accessible_resources": [{ "resources": ["injected.js"], "matches": ["*://website.com/*"] }]
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3