Http响应头在firefox扩展中总是没有得到修改

时间:2013-09-08 18:55:23

标签: javascript firefox firefox-addon xpcom

我正在修改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
        }

}

我为修改内容类型而添加的行无效。然而,内容处理工作正常。

1 个答案:

答案 0 :(得分:2)

Content-Type是无法修改的响应标头之一。其他人是Content-LenghtContent-EncodingTrailerTransfer-Encoding

但是,您可以更改nsIHttpChannel(some restrictions apply)的继承contentType属性。