chrome插件开发

  1. 目录结构:通过mainfest.json进行项目文件入口配置,其中,manifest_version、name、version3个是必不可少的,description和icons是推荐的。下面是一个简单用例
{
  "name": "gaoyang-tianyancha",
  "description": "A tool gaoyang-tianyancha",
  "version": "1.2.0",
  "manifest_version": 2,
  "browser_action": {
    "default_popup": "popups/popup.html",
    "default_title": "gaoyang-tianyancha",
    "default_icon": {
      "16": "icons/16-gray.png",
      "48": "icons/48-gray.png",
      "128": "icons/128-gray.png"
    }
  },
  "icons": {
    "16": "icons/16.png",
    "48": "icons/48.png",
    "128": "icons/128.png"
  },
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  },
  "permissions": ["http://*/*", "https://*/*", "file:///*"],
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["detector.js"],
      "run_at": "document_end"
    }
  ]
}
  1. 配置项说明
    **background:**是一个常驻的页面,它的生命周期是插件中所有类型页面中最长的,它随着浏览器的打开而打开,随着浏览器的关闭而关闭,所以通常把需要一直运行的、启动就运行的、全局的代码放在background里面。
    background的权限非常高,几乎可以调用所有的Chrome扩展API(除了devtools),而且它可以无限制跨域,也就是可以跨域访问任何网站而无需要求对方设置CORS。
    content-scripts:所谓content-scripts,其实就是Chrome插件中向页面注入脚本的一种形式(虽然名为script,其实还可以包括css的),借助content-scripts我们可以实现通过配置的方式轻松向指定页面注入JS和CSS(如果需要动态注入,可以参考下文),最常见的比如:广告屏蔽、页面CSS定制,等等。
    特别注意,如果没有主动指定run_at为document_start(默认为document_idle),下面这种代码是不会生效的
    popup:是点击browser_action或者page_action图标时打开的一个小窗口网页,焦点离开网页就立即关闭,一般用来做一些临时性的交互。
  2. tips:
    popup等都是一个单独的页面,想要访问不能使用f12,直接打开。在这里插入图片描述
    内部可能无显示console内容。
    在这里插入图片描述
    在popup页面上右键选择检查,可以弹出对应的调试模式。
    或者使用alert方式
  3. 代码仓库
    tianyancha
    gaoyang-vue-force-dev
  4. 辅助文档
    谷歌浏览器插件content_scripts、background、popup通信
    【干货】Chrome插件(扩展)开发全攻略

相关推荐

  1. Chrome开发

    2024-01-02 09:46:03       9 阅读
  2. 开发Chrome入门

    2024-01-02 09:46:03       14 阅读
  3. Chrome 如何开发

    2024-01-02 09:46:03       10 阅读
  4. 探索 Chrome 开发之旅

    2024-01-02 09:46:03       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-02 09:46:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-02 09:46:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-02 09:46:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-02 09:46:03       18 阅读

热门阅读

  1. 《Linux详解:深入探讨计算机基础》

    2024-01-02 09:46:03       34 阅读
  2. Spring Boot实战:深入理解@Service与@Mapper注解

    2024-01-02 09:46:03       36 阅读
  3. ARM AArch64的虚拟化(virtualization)详解(下)

    2024-01-02 09:46:03       40 阅读
  4. http基本格式

    2024-01-02 09:46:03       39 阅读
  5. 位运算trick

    2024-01-02 09:46:03       43 阅读
  6. ChatGPT的基本原理?

    2024-01-02 09:46:03       40 阅读
  7. GitHub Copilot的快速入门

    2024-01-02 09:46:03       38 阅读
  8. element ui upload 源码解析-逐行逐析

    2024-01-02 09:46:03       31 阅读
  9. 2023年12月第4周面试算法题总结

    2024-01-02 09:46:03       42 阅读
  10. Redis 简介

    2024-01-02 09:46:03       34 阅读
  11. junit.Test 的使用方法

    2024-01-02 09:46:03       35 阅读