前几天刚刚写了一个谷歌浏览器插件开发,现在总结一下。

1.谷歌浏览器插件模式

chrome://extensions/

谷歌插件开发总结_加载

小提示:下面谷歌浏览器设置需要你把插件项目建立好

开启之后会有  加载已解压的扩展程序 

谷歌插件开发总结_谷歌浏览器_02

 这个是导入你写好的插件目录然后就可以在谷歌浏览器进行运行了

谷歌插件开发总结_谷歌浏览器_03

然后把你写的插件开启

谷歌插件开发总结_chrome_04

图中1是开启状态,图中2是刷新(比较你修改了插件代码要刷新一下,如果是配合网页调试也刷新一下网页),图中3是打开插件控制台(跟谷歌浏览器控制台一样)。好了 谷歌浏览器设置我们就介绍到这里

2.新建项目介绍

主要你有web前端的基础,你写这插件很简单,你只需要学习它的规范,写这插件要求的技术:html、css、js。

一.项目目录如何搭建

谷歌插件开发总结_加载_05

manifest.json任何插件都必须要有这个文件,用来描述插件的元数据,插件的配置信息。

{
"name": "Getting Started Example",
"version": "1.0",
"description": "Build an Extension!",
"manifest_version": 2
"permissions": ["declarativeContent", "storage", "activeTab"],
"background": {
"scripts": ["js/background.js"],
"persistent": false
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["js/jquery-1.8.3.js", "js/content.js"],
"run_at": "document_start"
}
],
"web_accessible_resources": ["js/inject.js"],
"page_action": {
"default_popup": "popup.html",
"default_icon": {
"16": "img/16.png",
"32": "img/32.png",
"48": "img/48.png",
"128": "img/128.png"
}
},
"icons": {
"16": "img/16.png",
"32": "img/32.png",
"48": "img/48.png",
"128": "img/128.png"
}
}

别的我就不介绍了,下面我会放一些好的文章,你进行学习就好了,我只重点介绍  如何在已有的网页进行DOM添加,如何调用网页里面的js方法

注意看看配置文件里面的 

1.content_scripts(这个配置方法是向页面注入js),进行网页DOM添加、删除、修改

2.如何调用网页里面的js方法,在content_scripts 配置的 js文件里面  在注入 js文件即可,注意要在 web_accessible_resources 里面配置一下

content.js

// 可以操作当前页面中的DOM
$(document).ready(function() {
console.log("---加载content.js---");

// 注入inject.js
injectCustomJs();

// 给页面添加元素
let input = "<div style='margin: 50px 0 10px 0'>" +
"<input type='text' id='circulationInput' placeholder='请填写次数' />"+
"</div>";

// 自行在自己想要的页面添加
$("xxxx").append(button);

let button = "<a class='sBtn sBtn-h36 sBtn-h36-o ml20 l' id='circulationButton' href=\"javascript:void(0);\">" +
"<span style='width:100px;'>重复提交</span>" +
"</a>";

// 自行在自己想要的页面添加
$("xxxx").append(button);
});
// 访问页面的js方法
function injectCustomJs() {
// 自行写路径
let jsPath = 'js/inject.js';

var temp = document.createElement('script');
temp.setAttribute('type', 'text/javascript');
temp.src = chrome.extension.getURL(jsPath);
temp.onload = function() {
// 执行完后移除掉
this.parentNode.removeChild(this);
};
// 挂载
document.head.appendChild(temp);
}

inject.js

// 可以访问当前页面中的js
$(document).ready(function() {
console.log("---inject.js---");
console.log(window);
});

别的文件我就不放了  都不是重要的。

大家可以先看看下面文章,然后在过来看我这篇

小茗同学的chrome插件开发全攻略

​谷歌开发文档(中文)​​------需要