UserAgentSwitcher:{ let Cc = Components.classes; let Ci = Components.interfaces; let SITE = [ { url: 'https://mail.google.com', agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11', }, ]; let UA = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)'; let list = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator).getEnumerator('navigator:browser'); while(list.hasMoreElements()){ if(list.getNext() != window) break UserAgentSwitcher; } Cc['@mozilla.org/observer-service;1'].getService(Ci.nsIObserverService).addObserver({ observe: function(subject,topic,data){ if(topic != 'http-on-modify-request') return; var http = subject.QueryInterface(Ci.nsIHttpChannel); var len = SITE.length; http.setRequestHeader('User-Agent',UA,false); for(var i = 0;i<len; i++) { var reg = new RegExp(SITE[i].url); if (http.URI && http.URI.spec.match(reg)) http.setRequestHeader('User-Agent',SITE[i].agent,false); } } },'http-on-modify-request',false); }