chrome插件开发

更新日期: 2019-08-29 阅读: 3.4k 标签: 插件

项目基本目录

// 简单的demo目录

├── icon.png
├── manifest.json
├── popup.html
└── popup.js


上手调试

打开chrome://extensions/ 开启开发者模式,

选择加载已解压的扩展程序

选中自己的项目文件即可上手调试


项目下文件解析

manifest.json 配置文件
{
 // 必须
 "manifest_version": 2,
  "name": "我的扩展程序",
  "version": "版本字符串",
  
  // 可选:浏览器按钮可以包含图标、工具提示、徽章和弹出内容。
   "browser_action": { 
    "default_title": "get cookie In chrome", // 鼠标移动到插件icon会tips
    "default_popup": "popup.html", // 点击之后popup出来的部分
    "default_icon": "icon.png", // 插件的icon
    
    // page_action 配置的是指浏览器地址栏中的一些交互,较少人这么用
    
    
    "background": { // 后台运行程勋/脚本配置
        "scripts": ["eventPage.js"], // 脚本,
         "page": "background.html", // 也可以是html
        "persistent": false // 是否长期运作
      },
      
     "permissions": [ // 权限配置,表示在js执行过程能使用的权限
          "tabs", // 拥有使用chrome tab的权限
          "bookmarks", // 可以使用书签的权限
          
          "http://www.blogger.com/", // 设置站点权限
          "http://*.google.com/", 
          "unlimitedStorage" // 不限制存储
          ...// 详细配置请看下面
        ],
    ....
  },
 }
 
 

上面提到部分的详细说明文档:

permissions 权限清单


通讯

1.chrome.runtime.sendMessage 适合

content.js => background.js 通讯
content.js => popup.js 通讯
background.js => popup.js 通讯

2.chrome.tabs.sendMessage适合

background.js => content.js

popup.js => content.js

3.接受信息用chrome.runtime.onMessage.addListener

4.popup页面可以通过chrome.extension.getBackgroundPage() 方式调用background的函数


一些小坑

1.引入vue 会出现 安全性问题,需要在manifest.json中设置

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"

2.如果需要在background中使用jquery, 需要提前将jquery在background.js之前引入 ,
如 :

"background": {
    "scripts": [jquery-3.4.1.min.js", "background.js"],
    "persistent": true
  },
  

3.每个运行环境都有自己的devTools,比如popup界面需要调出开发者工具需要对着插件的icon点击右键,然后点击审查弹出内容,需要调出background需要在chrome://extensions/ 找到插件,如果background.js配置成功的话 会有一个背景页的链接,点击就会调出开发者工具

4.官方说在background写定时任务需要使用到alarm 但是实际上settimeout和setintervel也是可以的(另外如果防止chrome杀掉后台程序,需要设置manifest.json中的persistent = true)

5.在background 程序中可以发器ajax请求,但是需要api所在服务器支持跨域设置

6.html中的inline javascript 不会被执行


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/5585

相关推荐

基于Vue的验证码插件vue2-verify

在我们Web项目开发中,验证码是一种比较常见的区分用户是计算机还是人的手段。主要是为了保证项目的安全。现在Vue开发的项目很多,基本都是前后端分离的。给大家推荐一个基于Vue比较好用的验证码插件vue2-verify。但是大家要注意一点

video.js使用技巧

Video.js初始化有两种方式;一种是在<video>标签里面加上。注意,两者缺一不可。刚开始的时候我觉得后面的值为空对象{},不放也行,导致播放器加载不出来,后来加上来就可以了。

前端最常用的vscode插件集

在前端开发中,使用Visual Studio Code有哪些你常用的插件?推荐几个自己喜欢的,不带链接,自己搜索安装吧。这些都是比较实用、前端必备的插件集

vue开发常用第三方插件总结

这篇文章整理vue开发中常用插件及工具,主要包含: UI组件、开发框架、实用库、服务端SSR、辅助工具、应用实例、Demo示例等,分享给大家,希望对大家有所帮助

浏览器插件_常用谷歌浏览器插件推荐

常用谷谷歌浏览器确实没有其它国产软件的内置功能丰富。但是 Google 浏览器的的优点恰恰就体现在拥有超简约的界面,以及支持众多强大好用的扩展程序,用户能够按照自己的喜好去个性化定制浏览器。今天我就给大家介绍几款自己常用的插件。

对于前端开发,整理推荐好用的chrome插件或应用

向web前端开发者整理提供的chrome插件或应用:比如Postman、JSON Viewer、Page Ruler 、ChromeADB 等等

sublime安装插件

安装Sublime text 2插件很方便,可以直接下载安装包解压缩到Packages目录,也可以安装package control组件,然后直接在线安装

vue项目中使用新手引导功能_intro.js

如何在vue项目中使用用intro.js新手引导功能呢?这里需要使用到vue-introjs插件,vue-introjs是在Vue中绑定intro.js所使用的。在使用vue-introjs前,需要先安装intro.js

使用原生js开发插件的实现方法

作为前端开发,我们都习惯使用一些开源的插件例如jquery工具库,那么如何使用原生js来开发封装一个自己的插件呢?接下来就看一下怎么去开发一个自己的js插件,先上代码

vue项目中vscode格式化配置和eslint配置冲突

使用vscode开发vue项目的时候,从远端拉下一个新的项目后,安装完依赖后跑起项目时,发现直接报了一堆语法错误:包括换行、空格、单双引号、分号等各种格式问题

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!