目次构造
5.1 下载
5.2 收集请求
5.3 代办
5.4 体系信息
本章解说的是部份较为高等的API,以供哪些有更高请求的读者阅读。
5.1 下载
声明
"permissions": [
"downloads"
]
要领
chrome.downloads.download({
url:, //下载的url
filename:, //保留的文件名
conflictAction:, //重名文件的处理体式格局
saveAs:, //是不是弹出另存为窗口
method:, //请求体式格局(post或get)
headers:, //自定义header数组
body:, //post的数据
}, callback)
conflictAction的值只能为uniquify(在文件名背面添加带括号的序号,以保证文件名唯一),overwrite(掩盖)或许prompt(给出提醒,让用户自行决定是对文件举行重命名照样将其掩盖、)
5.2 收集请求
声明
"permissions": [
"webRequest",
"webRequestBlocking",
"*://*.google.com/"
]
注重:webRequest接口没法在Event Page中运用。
关于现在的收集请求,笔记有用的功用包含阻断链接,变动header和重定向。
重要要领
chrome.webRequest.onBeforeRequest.addListener(function(details){
return {cancel: true}},
{urls: ["*://bad.exemple.com/*"]},
["blocking"]) //阻断一切想bad.exemple.com的衔接
chrome.webRequest.onbeforeSendHeaders.addListener(
function(details){},{},[])
5.3 代办
声明
"permissions": [
"proxy"
]
要领
chrome.proxy.settings.set({},callback)
chrome.proxy.settings.get({},callback)
例子
var config = {
mode: "fixed_servers",
rules: {
proxyForHttp: {
scheme: "socks5",
host: "1.2.3.4",
port: 1080
}, //一切的http协定的阅读都运用1.2.3.4:1080这个socks5代办
proxyForHttps: {
scheme: "socks5",
host: "1.2.3.4",
port: 1080
}, //一切的https协定的阅读都运用1.2.3.4:1080这个socks5代办
proxyForFtp: {
scheme: "http",
host: "1.2.3.4",
port: 80 //一切的http协定的阅读都运用1.2.3.4:80这个http代办
}
bypassList: ["foobar.com"] //不运用任何代办
}
};
chrome.proxy.settings.set(
{value: config},
function(){}
);
别的,chrome还供应singleProxy属性(任何协定都要运用此代办)和fallbackProxy属性(未匹配到的协定运用此代办)。pacScript指定了代办接见所运用的pac剧本,因而能够经由过程url属性指定剧本位置,也能够直接经由过程data属性指定剧本内容。
5.4 体系信息
声明
"permissions": [
"system.cpu",
"system.memory",
"system.storage"
]
要领
三个接口都供应了getInfo的要领
chrome.system.cpu.getInfo()
chrome.system.memory.getInfo()
chrome.system.storage.getInfo()