zoukankan      html  css  js  c++  java
  • Chrome浏览器扩展(插件)开发

    转载::https://www.cnblogs.com/liuxianan/p/chrome-plugin-develop.html

    写在前面

    我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处。本文所有涉及到的大部分代码均在这个demo里面:https://github.com/sxei/chrome-plugin-demo ,大家可以直接下载下来运行。

    另外,本文图片较多,且图片服务器带宽有限,右下角的目录滚动监听必须等到图片全部加载完毕之后才会触发,所以请耐心等待加载完毕。

    本文目录:

    demo部分截图:

    前言

    2.1. 什么是Chrome插件

    严格来讲,我们正在说的东西应该叫Chrome扩展(Chrome Extension),真正意义上的Chrome插件是更底层的浏览器功能扩展,可能需要对浏览器源码有一定掌握才有能力去开发。鉴于Chrome插件的叫法已经习惯,本文也全部采用这种叫法,但读者需深知本文所描述的Chrome插件实际上指的是Chrome扩展。

    Chrome插件是一个用Web技术开发、用来增强浏览器功能的软件,它其实就是一个由HTML、CSS、JS、图片等资源组成的一个.crx后缀的压缩包.

    个人猜测crx可能是Chrome Extension如下3个字母的简写:

    另外,其实不只是前端技术,Chrome插件还可以配合C++编写的dll动态链接库实现一些更底层的功能(NPAPI),比如全屏幕截图。

    由于安全原因,Chrome浏览器42以上版本已经陆续不再支持NPAPI插件,取而代之的是更安全的PPAPI。

    2.2. 学习Chrome插件开发有什么意义

    增强浏览器功能,轻松实现属于自己的“定制版”浏览器,等等。

    Chrome插件提供了很多实用API供我们使用,包括但不限于:

    • 书签控制;
    • 下载控制;
    • 窗口控制;
    • 标签控制;
    • 网络请求控制,各类事件监听;
    • 自定义原生菜单;
    • 完善的通信机制;
    • 等等;

    2.3. 为什么是Chrome插件而不是Firefox插件

    Chrome占有率更高,更多人用;
    开发更简单;
    应用场景更广泛,Firefox插件只能运行在Firefox上,而Chrome除了Chrome浏览器之外,还可以运行在所有webkit内核的国产浏览器,比如360极速浏览器、360安全浏览器、搜狗浏览器、QQ浏览器等等;
    除此之外,Firefox浏览器也对Chrome插件的运行提供了一定的支持;
    

      

    开发与调试

    Chrome插件没有严格的项目结构要求,只要保证本目录有一个 manifest.json 即可,也不需要专门的IDE,普通的web开发工具即可。

    从右上角菜单->更多工具->扩展程序可以进入 插件管理页面,也可以直接在地址栏输入 chrome://extensions 访问。

    复制了一些,太多了。还是算了。需要用到文件,可以直接从开头的连接进入。

  • 相关阅读:
    SpringBoot 线程池配置 定时任务,异步任务
    使用Calendar类对时间进行处理
    单例模式的几种实现方式
    一些簡單的入門算法
    OO第四单元博客
    OO第三单元博客
    OO第二单元博客
    OO第一单元博客
    BUAA_OO_2020_Unit4_Wandy
    BUAA_OO_UNIT3_2020
  • 原文地址:https://www.cnblogs.com/Mengchangxin/p/9850211.html
Copyright © 2011-2022 走看看