Chrome 插件开发

目录结构

  • manifest.json 

这是一个 Chrome 插件最重要也是必不可少的文件,用来配置所有和插件相关的配置,必须放在根目录。其中,manifest_version、name、version 这三个是必不可少的,description 和 icons 是推荐的;

字段名介绍
manifest_version清单文件的版本,这个必须写,我们这里写 3
name插件的名称
version插件的版本
description插件描述
icons图标
background配置插件在后台运行的js代码
content_scripts定义一系列匹配规则,当URL被匹配时,自动执行js
permissions插件运行需要的权限
action浏览器右上角图标设置
options_page右键插件图标的 -> 选项页面,允许用户进行个性化设置
omnibox向地址栏注册一个关键字以提供搜索建议,只能设置一个关键字
web_accessible_resources

用来指定可从扩展程序中访问的资源,包括 HTML、图片、CSS、JavaScript 等文件

Chrome 插件没有严格的项目结构要求,只要保证本目录有一个 manifest.json 即可,我们来创建一个插件的清单;

然后创建 icons 文件夹,用来存放所用到的图标;

{
    "name": "扩展名称",
    "version": "1.0",
    "manifest_version": 3,
    "description": "介绍",
    "icons": {
        "16": "icons/icon16.png",
        "32": "icons/icon32.png",
        "48": "icons/icon48.png",
        "64": "icons/icon64.png",
        "128": "icons/icon128.png"
    }
}

脚本

  • content-scripts

所谓 content-scripts,其实就是 Chrome 插件中向页面注入脚本的一种形式

字段名类型说明
matchesarray of strings必须,定义哪些页面需要注入content script,具体见匹配模式
cssarray of strings可选,需要向匹配页面中注入的CSS文件,按照定义的顺序依次注入
jsarray of strings可选,需要向页面中注入的 javascript 文件,按定义顺序注入。
run_atstring可选。 控制content script注入的时机。可以是document_start, document_end或者document_idle。默认是document_idle。如果是document_start, 文件将在所有CSS加载完毕,但是没有创建DOM并且没有运行任何脚本的时候注入。如果是document_end,则文件将在创建完DOM之后,但还没有加载类似于图片或frame等的子资源前立刻注入。如果是document_idle,浏览器会在document_end和发出window.onload事件之间的某个时机注入。具体的时机取决与文档加载的复杂度,为加快页面加载而优化
include_globsarray of string可选(包含)。控制将content_script注入到哪些匹配的页面中
exclude_globsarray of string可选(排除)。控制将content_script注入到哪些匹配的页面中

打开我们上面的创建的清单 manifest.json, 添加 content_scripts 配置,当访问 “CSDN” 的网页时我们运行脚本

"content_scripts": [
    {
        "matches": [
            "https://www.csdn.net/*",
            "https://www.csdn.net/*"
        ],
        "js": [
            "js/script.js"
        ],
        "css": [],
            "run_at": "document_idle"
    }
]

创建 js 文件夹,编写 script.js 文件

console.log('来了 >>>>')

窗口网页

  • popup

打开我们上面的创建的清单 manifest.json, 配置 popup 页面

"action": {
    "default_title": "CustChromePlug popup",
    "default_popup": "popup.html",
    "default_icon": {
        "16": "icons/icon16.png",
        "32": "icons/icon32.png",
        "48": "icons/icon48.png"
    }
}
  •  编写 popup.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
   内容
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值