1

firefox の inlinedisposition 拡張機能を修正しています。実際にヘッダーを変更するコード スニペットを次に示します。

_httpResponse: function( chan )
{
    var disp = "";


    try {
        chan = chan.QueryInterface(Components.interfaces.nsIHttpChannel);
        disp = chan.getResponseHeader("Content-Disposition");
    } catch (e) { }

    if (chan.loadFlags & Components.interfaces.nsIChannel.LOAD_DOCUMENT_URI && this._re.test(disp))
    {
        chan.setResponseHeader("Content-Disposition", disp.replace(this._re, "inline"), false);
        chan.setResponseHeader("Content-Type", "application/fgdownload", false);  //not working
        }

}

content-type を変更するために追加した行が機能していません。ただし、コンテンツ処理は正常に機能します。

4

1 に答える 1

2

Content-Type変更できない応答ヘッダーの 1 つです。その他はContent-LenghtContent-EncodingTrailerおよびTransfer-Encodingです。

ただしcontentType、nsIHttpChannel の継承された属性は変更できます (いくつかの制限が適用されます)。

于 2013-09-08T20:15:41.517 に答える