开发者

Setting HTTP headers from a Firefox extension

How can I set HTTP headers in my Firefox extension?

I'll make it so these are only sent while hitting my site开发者_StackOverflow社区 so I can detect if the plugin is installed or not and not promote the plugin if it is.


Here's the most compact way I found to make this work:

Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService ).addObserver({
    observe : function(subject, topic, data) {
            var channel = subject.QueryInterface( Components.interfaces.nsIHttpChannel );
            if ( /mysite/.test( channel.originalURI.host ) ) {
                channel.setRequestHeader("x-mysite-extended", "true", false);
            }
    }
},"http-on-modify-request",false);


There are a few existing Firefox extensions that modify HTTP headers en route to the server, and at least one of them, modifyheaders, has open source code.

Or, of course, there's the relevant page in the Mozilla Developer Center, Setting HTTP request headers.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜