
ChromeExt
ReZerou
这个作者很懒,什么都没留下…
展开
-
(七)扩展页面通信
Chrome提供了4个有关扩展页面间相互通信的接口,分别是runtime.sendMessage、runtime.onMessage、runtime.connect和runtime.onConnectChrome提供的大部分API是不支持在 content_scripts 中运行的,但 runtime.sendMessage 和 runtime.onMessage 可以在 content_scrip原创 2017-02-09 14:42:43 · 619 阅读 · 0 评论 -
(八)存储数据
通常Chrome扩展使用以下三种方法中的一种来储存数据HTML5的localStorage 对于一般的扩展,“设置”这种简单的数据可以优先选择第一种,因为这种方法使用简单,可以看成是特殊的JavaScript变量; Chrome提供的存储API 对于结构稍微复杂一些的数据可以优先选择第二种,这种方法可以保存任意类型的数据,但需要异步调用Chrome的API,结果需要使用回调函数接收,不如第一种原创 2017-02-10 16:31:02 · 444 阅读 · 0 评论 -
(一)MyBlock
准备工作 新建文档结构如下: myblock—-manifest.json |________img |________js |________popu.html 如上,其中js和img用来放js文件以及图片代码部分及解释 manifest.json 如下:{ "manifest_version": 2,原创 2017-02-01 17:39:46 · 317 阅读 · 0 评论 -
(二)Manifest文件结构
json 有两种结构 一种是键值对,即key:value 一种是纯值的 举个栗子:{ "name" : "Harry Potter", "author" : { "name" : "J.K.Rowling", "birth" : 1964 }, "books" : [ "Philosopher's Stone",原创 2017-02-01 18:27:37 · 898 阅读 · 0 评论 -
(三)操作用户当前浏览页面
tips: DomTreeManifest的content_scripts属性值为数组类型,数组的每个元素可以包含matches、exclude_matches、css、js、run_at、all_frames、include_globs和exclude_globs等属性。 其中matches属性定义了哪些页面会被注入脚本exclude_matches则定义了哪些页面不会被注入脚本css和j原创 2017-02-01 19:27:09 · 414 阅读 · 0 评论 -
(四)跨域请求
tips:允许跨域示例{ ... "permissions": [ "*://*.wikipedia.org/*" ]} 每次发起请求,只要调用httpRequest函数,并传入要请求的URL和接收返回结果的函数就可以了。 为什么要使用callback函数接收请求结果,而不直接用return将结果作为函数值返回呢? 因为XMLHttpR原创 2017-02-01 21:50:33 · 312 阅读 · 0 评论 -
(五)常驻后台
background可以包含三种属性,分别是 scripts 、page 和 persistent如果指定了 scripts 属性,则Chrome会在扩展启动时自动创建一个包含所有指定脚本的页面如果指定了 page 属性,则Chrome会将指定的HTML文件作为后台页面运行通常我们只需要使用 scripts 属性即可,除非在后台页面中需要构建特殊的HTML——但一般情况下后台页面的HTML我们是原创 2017-02-01 22:03:34 · 835 阅读 · 0 评论 -
(六)选项卡的设置
指定options_page属性后,扩展图标上的右键菜单会包含“选项”链接对于网站来说,用户的设置通常保存在Cookies中,或者保存在网站服务器的数据库中。 对于JavaScript来说,一些数据可以保存在变量中,但如果用户重新启动浏览器,这些数据就会消失。 那么如何在扩展中保存用户的设置呢? 我们可以使用HTML5新增的localStorage接口。 除了localStorage接口以原创 2017-02-01 22:30:26 · 478 阅读 · 0 评论