2012-12-04 29 views
6

में प्रतिक्रिया शीर्षलेख को बदलने के लिए कैसे मैं इंटरनेट पर कुछ एमपी 3 लिंक से निपट रहा हूं।क्रोम

क्रोम डेवलपर टूल का उपयोग करते समय, मुझे लगता है कि Content-Type:application/octet-stream (इन बलों को क्रोम डाउनलोड करने के लिए लिंक जैसे लिंक) के साथ प्रतिक्रिया शीर्षलेख है, कुछ लिंक Content-Type:audio/mpeg के साथ प्रतिपादन हैडर (जैसे लिंक क्रोम को स्ट्रीमिंग करने की अनुमति देते हैं)।

क्या कोई क्रोम एक्सटेंशन है जो प्रतिक्रिया हेडर बदलने की अनुमति देता है? क्योंकि मैं सामग्री-प्रकार

उत्तर

11

Chrome developer page को बदलना चाहता हूं।

यहां एक साधारण उदाहरण है जो https://www.google.com/ को टेक्स्ट/सादा में संशोधित करता है।

chrome.webRequest.onHeadersReceived.addListener(function(details){ 
    for(var i = 0; i < details.responseHeaders.length; ++i) 
     if(details.responseHeaders[i].name.toLowerCase() == 'content-type') 
      details.responseHeaders[i].value = 'text/plain'; 
    return {responseHeaders:details.responseHeaders}; 
}, {urls: ['https://www.google.com/']}, ['blocking', 'responseHeaders']); 

नोट आप manifest.json में दोनों webRequest और webRequestBlocking अनुमतियाँ घोषित करने के लिए है।

+0

@ 方 觉 मुझे यह कोड कहां रखना चाहिए? क्या मुझे एक नया एक्सटेंशन लिखने की ज़रूरत है? – onmyway133

+0

@Yamamoto कोड को अपनी पृष्ठभूमि स्क्रिप्ट में रखें। यदि आप पृष्ठभूमि पृष्ठ की बजाय किसी ईवेंट पेज का उपयोग कर रहे हैं, तो आपको chrome.declarativeWebRequest (जिसे अगली क्रोम स्थिर रिलीज़ में समर्थित किया जाएगा) का उपयोग करना चाहिए। –

+3

मैंने पृष्ठभूमि पृष्ठ में ऐसा करने की कोशिश की है। अजीब बात यह है कि लॉग हैंडलर को निष्पादित किया जाता है, और शीर्षलेख बदल जाते हैं, लेकिन इसका पृष्ठ लोड होने पर कोई प्रभाव नहीं पड़ता है - इसके http शीर्षलेख अपरिवर्तित रहते हैं (डेवलपर दृश्य के अनुसार)। कोई त्रुटि नहीं है। कोई विचार? – Stan