博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
chrome扩展开发之旅 第五篇
阅读量:5948 次
发布时间:2019-06-19

本文共 1904 字,大约阅读时间需要 6 分钟。

目录结构

  • 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()

转载地址:http://jwdxx.baihongyu.com/

你可能感兴趣的文章
开源工具:Mina
查看>>
微职位产品改版学员帮助文档(4月19日)
查看>>
Javascript加载执行加速
查看>>
Cacti完全使用手册 ( 让你快速个性化使用Cacti )
查看>>
改变eclipse编码格式
查看>>
php __autoload作用
查看>>
python模块介绍-asynchat 异步socket命令/响应处理器
查看>>
域内删除帐号恢复
查看>>
在iPhone上实现内网抓包嗅探!
查看>>
使用 Dockefile 创建一个带有 ssh 的 ubuntu 镜像
查看>>
java中的匿名内部类总结
查看>>
oracle ebs 设置界面风格+显示颜色
查看>>
Python自动化开发学习5
查看>>
【首页】
查看>>
HTTPCLIENT总结
查看>>
HBase常用操作命令
查看>>
智造时代:HR会被机器人取代吗?
查看>>
商超大战解读:1号店与天猫超市,谁更有戏?
查看>>
我的友情链接
查看>>
《sed的流艺术之三》-linux命令五分钟系列之二十三
查看>>