文档章节

谷歌浏览器插件开发详解

永不止步0929
 永不止步0929
发布于 2016/12/06 15:03
字数 472
阅读 22
收藏 2
点赞 0
评论 0

 

      chrome 插件: 就是一个html + js +css + image的一个web应用 ;不同于普通的web应用, chrome插件除了兼容普通的js,json,h5等api,还可以调用一些浏览器级别的api,例如收藏夹,历史记录cookie等 以及js页面间的消息传递

注:每一个插件都有一个唯一的插件号

1.创建配置文件manifest.json文件

{

"name": "永不止步",     //插件名称
"version": "1.0",          //必填,版本号
"manifest_version": 2,     //必填,
"description": "*********永不止步*********",

"icons": {                  //图标
            "48": "icon.png",
            "16": "icon.png"
        },

//浏览器弹窗 
"browser_action": {
    "default_icon": "icon.png",    //图标
    "default_popup": "test.html"   //点击弹出来的窗口
},
"permissions": [           //插件的全新啊
"webNavigation",
"tabs",
"cookies",
"background",
"notifications",
"contextMenus",
"https://*/*",
"http://www.baidu.com/"          //服务器接收数据url
],
 "background": {                          //全局执行的js
 "scripts": ["eventPage.js","jquery-2.1.1.min.js"]
},
"content_scripts": [
{            
"matches": ["http://www.taobao.com/"],//抓取页面的url
"js": ["jquery-2.1.1.min.js", "contentscript.js"]     //定义抓取页面的js,可加多个
}
]

}

2.创建contentscript.js文件

①此文件可以通过DOM获取当前页面的所有元素,换句话说就是可以获取当前页面的所有内容,②也可以操作test.html(当然test.html必须先引入contentscript.js)。

③通过ajax将所需的数据传入后台服务器方式为json (必须在权限中将后台服务器url引入,否则会出现跨域问题)

 

 

常用的功能:

①通过chrome.cookies.get(details, function(cookie) {
                    //console.log(cookie);
                })

可以获取需请求后台的cookie信息,用于判断登陆。。。

 

②页面的消息传递

//发送消息

chrome.extension.sendMessage({cmd: "showPage"},function(response) {
      console.log("request:");

});

chrome.extension.sendMessage({cmd: "getPage"},function(response) {
        console.log("request:");
        // if(response.page){
        //     console.log("request:"+request.page);
        // }
    });

//接受消息   监听事件
chrome.extension.onMessage.addListener(
  function(request, sender, sendResponse) {
    totalPage = $(".J_Input").val();
    console.log("totalPage----------" + totalPage);
        console.log(request);
        if(request.cmd=='getPage'){
            console.log("getPage");
            //console.log(request.page);
            sendResponse({"arr":3});
            ext_page=3;
            //g_newsArr=request.arr;
        }
        if(request.cmd=='showPage'){
            console.log("showPage");
            sendResponse({"arr":ext_page});
        }
    //console.log("msg----------contentscript.js" + request.greeting);
    //getOrderInfo( sendResponse );
  });

 

参考文档   http://open.chrome.360.cn/extension_dev/cookies.html

实例  http://www.cnblogs.com/rwxwsblog/p/4490530.html

        http://www.cnblogs.com/champagne/p/4826611.html

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
永不止步0929
粉丝 0
博文 29
码字总数 7592
作品 0
海淀
程序员
图文详解如何将书签bookmarks导回到chrome?

前提概要 在我们使用chrome浏览器的过程中呢,或多或少都有遇到过chrome浏览器卸载重装,或者重装系统,或者更换浏览器等等的情况。在出现这种情况的时候呢?我们可能会遇到一个相同的问题,...

thebeauty2016 ⋅ 05/10 ⋅ 0

Webstorm+Chrome plugins JetBrains IDE Support实现强大的JavaScript调试功能

前言 WebStorm是Jetbrains公司旗下一款JavaScript 开发工具,当你打开这款软件的时候会觉得特别的熟悉,因为它和itellj idea属于同款产品,界面和快捷键基本类似,而且功能非常强大,提示也非...

changyinling520 ⋅ 05/10 ⋅ 0

API & HTTP 请求调试插件(Postman)

简述 Postman 是一个 Chrome 扩展,提供功能强大的 Web API & HTTP 请求调试。它能够发送任何类型的 HTTP 请求(GET、HEAD、POST、PUT..),附带任何数量的参数 + headers。 支持不同的认证机制...

潘志闻 ⋅ 2016/05/19 ⋅ 0

对http-equiv中"X-UA-Compatible"属性的理解

X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不识别的。 通过在meta中设置X-UA-Compatible的值,可以指定网页的兼容性模式设置。 在IE8刚推出的时候,很多网页由于重构的...

codingcoge ⋅ 05/24 ⋅ 0

【JAVA秒会技术之软件应用】Chrome超强测试软件Advanced-REST-client免越狱安装

【现在地址】:http://download.csdn.net/detail/qq296398300/9723430 【安装方法】 1.解压Advanced-REST-clientv3.1.9.zip到当前文件夹,得到Advanced-REST-clientv3.1.9目录 2.在Chrome浏览......

天真的蓝 ⋅ 2017/01/13 ⋅ 0

Chrome本地安装Metamask

MetaMask是一个开源的以太坊钱包,能帮助用户方便地管理自己的以太坊数字资产,但在国内由于网络原因,你可能下载不了。本文将介绍如何解决metamask钱包无法下载的问题。 你可以按照以下操作...

汇智网教程 ⋅ 05/03 ⋅ 0

Chrome+SwitchyOmega+Shadowsocks实现智能翻墙

接上文 电脑小白使用Shadowsocks搭建翻墙服务器傻瓜式手把手教程 ,使用Shadowsocks自带的PAC列表翻墙已经算不错的了。但其也有不方便的地方,其表现在以下两点: Pac列表只收录被墙的站点,...

Airship ⋅ 05/14 ⋅ 0

Chrome常用URL命令(伪URL)

在Chrome地址栏输入chrome://chrome-urls/可以看到所有的Chrome支持的伪RUL 1、chrome://accessibility/ 可达性分析,默认是关闭的,点击accessibility off后变成accessibility on|show acc...

easonjim ⋅ 2017/11/22 ⋅ 0

Google Chrome浏览器中如何使用命令

Google Chrome浏览器中如何使用命令 | 浏览:2974 | 更新:2014-02-23 23:12 | 标签:chrome 分步阅读 方法/步骤

thinkyoung ⋅ 2015/11/06 ⋅ 0

详细了解为什么Postman Chrome应用程序突然不能用了?

很多网友反映postman无法使用,本地postman chrome插件确实也无法正常使用,只有Postman官方自己的软件应用程序可以使用。笔者多少追溯终于知道原因,并紧急上线了不同操作系统版本的Postman...

thebeauty2016 ⋅ 05/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 36分钟前 ⋅ 0

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】

前言 我是上学期学的汇编,因为有vs又不想用课上教的麻烦的dosbox以及masm32,但是一直没找到高亮插件和能调试的(难在运行不了而找不到答案上,出现的错误在最后放出,还请先达们不吝指点)...

simpower ⋅ 46分钟前 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 49分钟前 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 56分钟前 ⋅ 0

你真的明白RPC 吗?一起来探究 RPC 的实质

你真的明白RPC 吗?一起来探究 RPC 的实质 不论你是科班出身还是半路转行,这么优秀的你一定上过小学语文,那么对扩句和缩句你一定不陌生。缩句就是去除各种修饰提炼出一句话的核心,而不失基...

AI9o後 ⋅ 58分钟前 ⋅ 0

z-index设置失效?

今天碰到了一个问题,就是在给li设置提示框的时候,有用到遮罩效果,本来想把对应的出现在最顶层,可是不管将li设置的z-index值设为多大,li都没有出现在遮罩层之上。 我在网上查了z-index设...

IrisHunag ⋅ 今天 ⋅ 0

CyclicBarrier、CountDownLatch以及Semaphore使用及其原理分析

CyclicBarrier、CountDownLatch以及Semaphore是Java并发包中几个常用的并发组件,这几个组件特点是功能相识很容易混淆。首先我们分别介绍这几个组件的功能然后再通过实例分析和源码分析其中设...

申文波 ⋅ 今天 ⋅ 0

Java对象的序列化与反序列化

Java对象的序列化与反序列化

Cobbage ⋅ 今天 ⋅ 0

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 今天 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部