【干货】Chrome插件(扩展)开发全攻略(详解参考文章)

https://blog.csdn.net/weixin_33762321/article/details/85913723

以上介绍是chrome详细规则说明,如果想在项目中使用vue等插件,最好用框架做。

我是使用的vue脚手架搭建的项目,详细说下步骤和问题解决

1、vue 安装

参考网站:https://cn.vuejs.org/v2/guide/installation.html

# 最新稳定版 $ npm install vue

2、vue 启动,通过vue框架创建chrome插件项目

启动:vue ui

按步骤创建好项目后,添加插件,我使用的插件是:vue-cli-plugin-ui-chrome-extension

建议安装勾选内容

3、开发过程注意事项

3.1、使用ui项目组件,但是页面没有识别

使用每个ui组件,都需要做下导入

import {

Card,

Button,

Input,

Form,

FormItem

} from 'element-ui';

Vue.use(Card);

Vue.use(Button);

Vue.use(Input);

Vue.use(Form);

Vue.use(FormItem);

3.2、signalR 使用

直接安装微软官方的

命令:npm install @microsoft/signalr

import * as signalR from "@microsoft/signalr";

        //建立连接this.connection = await new signalR.HubConnectionBuilder().withUrl(`socket url`).configureLogging(signalR.LogLevel.Warning).build();await this.connection.start();console.log("connected");//打印消息 //监控,消息触发var that = this;this.connection.on("SendMsg", msg => {console.log(msg);})

3.3、axios(url请求)

命令:npm i axios

import axios from 'axios';

 var res = await axios.post(`url`, {msg:"msg",Method:"send"})

3.4、所有的开发标准需要按vue的开发标准开发,最终编译会成chrome要求的html

<a href="#" id="open_background" v-on:click="open_background">打开background</a>

4、配置文件参考


{"manifest_version": 2,// 清单文件的版本,这个必须写,而且必须是2"name": "chromemessage",// 插件的名称"description": "消息组件",// 插件描述"version": "0.0.1",// 插件的版本"icons": {// 图标,一般偷懒全部用一个尺寸的也没问题"16": "img/icon.png","48": "img/icon.png","128": "img/icon.png"},"background": {// 会一直常驻的后台JS或后台页面// 2种指定方式,如果指定JS,那么会自动生成一个背景页// "page": "background.html""scripts": ["background.js"]},浏览器右上角图标设置,browser_action、page_action、app必须三选一"browser_action": {"default_title": "这是个消息组件","default_popup": "popup.html","default_icon": "img/icon.png"},// 需要直接注入页面的JS"content_scripts": [{//"matches": ["http://*/*", "https://*/*"],// "<all_urls>" 表示匹配所有地址"matches": ["*://*.baidu.com/*"],"css": [// JS的注入可以随便一点,但是CSS的注意就要千万小心了,因为一不小心就可能影响全局样式"css/content.css"],"js": [// 多个JS按顺序注入"js/content.js",// "js/jquery-1.8.3.js","content-script.js"],// 代码注入的时间,可选值: "document_start", "document_end", or "document_idle",最后一个表示页面空闲时,默认document_idle"run_at": "document_start"}],// 权限申请"permissions": ["contextMenus",// 右键菜单"tabs",// 标签"notifications",// 通知"webRequest", // web请求"webRequestBlocking",// 阻塞式web请求"storage",// 插件本地存储"http://*/*",// 可以通过executeScript或者insertCSS访问的网站"https://*/*"// 可以通过executeScript或者insertCSS访问的网站],// 普通页面能够直接访问的插件资源列表,如果不设置是无法直接访问的"web_accessible_resources": ["inject.js","fonts/*"],// 插件主页,这个很重要,不要浪费了这个免费广告位"homepage_url": "https://www.baidu.com","options_page": "options.html","options_ui":{"page": "options.html","chrome_style": true},// 覆盖浏览器默认页面"chrome_url_overrides":{// 覆盖浏览器默认的新标签页"newtab": "customertab.html"},// Chrome40以前的插件配置页写法"options_page": "options.html",// Chrome40以后的插件配置页写法,如果2个都写,新版Chrome只认后面这一个"options_ui":{"page": "options.html",// 添加一些默认的样式,推荐使用"chrome_style": true},// 向地址栏注册一个关键字以提供搜索建议,只能设置一个关键字"omnibox": { "keyword" : "go" },"default_locale": "zh_CN","content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
}

5、vue.config.js(插件发布配置文件)

默认系统只打包,popup.html.options.html 两个文件

如果需要生成其他html文件,需要自己配置

const chromeName = [

"popup",

"options",

"background",

"customertab",

];

其他的文件生成规则,可以参考此文件内容。

Chrome插件开发(chrome-extension)相关推荐

  1. chrome 插件开发各种功能demo_Chrome 插件开发全攻略

    Chrome 浏览器相信大家都用得比较多,有很多的优点,比如简洁.强大的开发者工具等,但是更让大家映像深刻的是有各种各样有趣.有用的插件,今天要给大家推荐的开源项目是 Chrome 插件开发全攻略,你 ...

  2. vue.js 初体验— Chrome 插件开发实录

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:陈纬杰 背景 对于经常和动画开发打交道的开发者对于Animate.css这个动画库不会陌生,它把一些常见 ...

  3. Chrome 插件开发-右键菜单开发实战演示,浏览器页面右键菜单选项设置,插件右键菜单点击插件名跳转主页设置

    Chrome 插件开发 - 菜单选项 浏览器页面右键菜单选项设置 ① 核心代码演示 ② 效果展示 ③ 详细参数文档 插件右键菜单点击插件名跳转主页设置 ① 核心代码演示 ② 演示效果图 浏览器页面右键 ...

  4. Chrome 插件开发与本地程序交互流程

    Chrome 插件开发与本地程序交互流程 一. 将本地程序写入注册表 可以采用bat的方式写入注册表 REG ADD "HKCU\Software\Google\Chrome\NativeM ...

  5. 十分钟带你入门Chrome插件开发

    一.简述 我们所说的chrome插件一般都是指chrome扩展程序(Chrome Extension).chrome插件是一个用Web技术开发.用来增强浏览器功能的软件,它其实就是一个由HTML.CS ...

  6. Chrome 插件开发小记

    文章目录 前言 manifest.json 常用配置项 常用API 脚本注入 网站与插件通信 网站端 插件端 打包 .crx QA 其他参考链接 前言 群里闲逛,看见有人发了个图,感觉还挺有意思,抽空 ...

  7. 西安天气html5插件,Chrome 插件开发——本地天气

    经常在Chrome应用商店下载扩展程序也就是插件,有时候在想可不可以自己也开发一个插件用用呢?本文就是在这样的背景下产生的,以一个生活必需的简单获取天气的插件作为开发演示,下面就开始我们的Chrome ...

  8. Chrome插件开发实例---刷论坛在线时间小程序

    前记: 由于近日注册了某个技术论坛,其论坛要求转为正式会员必须50积分购买邀请号,回答官方预留的题目可以获得30积分,每日在线一小时可以获得1积分上限为5积分.本人回答了官方题目获得30积分,之后就只 ...

  9. chrome插件开发入门教程

    点击上方蓝字"优派编程"选择"加为星标",第一时间关注原创干货 原文地址 http://wp.fang1688.cn/study/539.html 这次我在ch ...

  10. chrome插件开发时跨域问题解决方案

    这是一个没有套路的前端博主,热衷各种前端向的骚操作,经常想到哪就写到哪,如果有感兴趣的技术和前端效果可以留言-博主看到后会去代替大家踩坑的-接下来的几篇都是uni-app的小实战,有助于我们更好的去学 ...

最新文章

  1. Unity3d5.0 新UI之2048
  2. cisco *** 案例2
  3. 阿里云、Amazon、Google云数据库方案架构与技术分析
  4. 北邮OJ 2016网预 - Saber's Conjecture
  5. c++ 数组 结构体
  6. SAP Spartacus 的 Banner Component 请求
  7. 使用Cordova将您的前端JavaScript应用打包成手机原生应用
  8. [react] React中怎么检验props?
  9. SDUT 2766 小明传奇2
  10. linux端口接收中文乱码,linux中显示中文乱码如何解决
  11. python为什么那么多人用_为什么那么多人在学Python?
  12. Caused by: java.lang.IllegalArgumentException: Result Maps collection does not contain value for...
  13. 计算机专业必装软件mac,MAC电脑可运行的常用软件有哪些?
  14. 阿里云认证(ACA/ACP/ACE)的分类以及官网价格
  15. GZHU - 1523 疯狂钻石 (完全背包)
  16. go import几种用法
  17. 前端社区的恶趣味之Vanilla JS
  18. 【第三课】UAV倾斜摄影测量三维建模软件
  19. vs2013 番茄助手Visual AssistX插件的安装与使用
  20. 办公室养龟有什么讲究,办公室养龟风水

热门文章

  1. 腾讯敏感词汇大全_腾讯数平精准推荐 | OCR技术之识别篇
  2. 移动通信网络架构 1G-5G
  3. 计算机扩容硬盘,扩容盘是什么 如何恢复真实容量【方法详解】
  4. wi ndows防火墙,网吧的防火墙怎么关?四种方法关闭WINDOWS防火墙
  5. 线性插值和双线性插值
  6. 独立安装 lamp 兄弟连
  7. linux开发板系统备份
  8. python excel表格转word表格
  9. matlab如何用二分法求函数零点,用二分法求函数的零点及二分法定义
  10. 大白用html5制作,暖心大白纸雕灯的制作过程 给圣诞节礼物助力啦