我需要通过代理的Firefox html
页面请求,以及页面上的所有其他内容 - 图片,样式,视频,音乐,flash等,无需代理即可请求。
我创建:
proxy(type,http,port,no_proxies)
:
var prefsvc = require("sdk/preferences/service");
function proxy(type,http,port,no_proxies) {
prefsvc.set("network.proxy.type", type);
prefsvc.set("network.proxy.http", http);
prefsvc.set("network.proxy.http_port", port);
prefsvc.set("network.proxy.no_proxies_on", no_proxies);}
var button = require('sdk/ui/button/action').ActionButton({id: "proxy-button", label: "Proxy Button", icon: {"16": "./icon-16.png"}, onClick: handleClick});
handleClick(state)
,即:
var tabs = require("sdk/tabs");
var Request = require("sdk/request").Request;
function handleClick(state) {
打开一个新标签:
tabs.open("https://developer.mozilla.org/");
此标签的网址请求Content-Type
- 来自目标服务器的标头,如果它与html
- 标题(text/html
)的标题一致,则更改Firefox的代理,如果请求不是html
- 页面,则代理被禁用:
Request({url: tabs.activeTab.url, onComplete: function (response) {
'text/html'==response.headers['Content-Type'].split(';',1)
? proxy(1,"192.168.56.101",8880,"localhost, 127.0.0.1, 192.168.1.1")
: proxy(5,'','','');
}}).head();}
< / p>