2012-12-04 2 views
6

私はインターネット上のmp3リンクを扱っています。Chromeのレスポンスヘッダーを変更するには

Content-Type:application/octet-streamのレスポンスヘッダー(Chromeにダウンロードするよう強制するリンク)があります。一部のリンクにはContent-Type:audio/mpegというレスポンスヘッダーがあります(これらのリンクを使用すると、Chromeでストリーム再生できます)。

応答ヘッダーを変更できるChrome拡張機能はありますか?コンテンツタイプを変更したいので

答えて

11

Chrome developer pageを参照してください。

Content-Typehttps://www.google.com/をtext/plainに変更する簡単な例を示します。あなたはmanifest.jsonの両方webRequestwebRequestBlockingパーミッションを宣言する必要が

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']); 

注意。

+0

@方觉このコードはどこに置く必要がありますか?私は新しいエクステンションを書く必要がありますか? – onmyway133

+0

@ Yamamotoあなたのバックグラウンドスクリプトにコードを置きます。バックグラウンドページの代わりにイベントページを使用している場合は、代わりにchrome.declarativeWebRequest(次のChrome安定版でサポートされる)を使用する必要があります。 –

+3

私はバックグラウンドページで同じことを試みました。不思議なことに、ログによると、イベントハンドラが実行され、ヘッダは変更されますが、これはページのロードには影響しません.HTTPヘッダは変更されません。エラーはありません。何か案は? – Stan

関連する問題