美文网首页
开发属于自己的Chrome插件

开发属于自己的Chrome插件

作者: 小灰灰_a | 来源:发表于2021-12-15 17:26 被阅读0次

什么是Chrome插件?

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

另外,其实Chrome插件不只是前端技术,Chrome插件还可以配合C++编写的dll动态链接库实现一些更底层的功能(NPAPI),比如全屏幕截图等,开发一个专属于服务自己的插件,为了更好的开发(滑水)。

下面来一点核心介绍:

manifest.json

这是一个Chrome插件最重要也是必不可少的文件,用来配置所有和插件相关的配置,必须放在根目录。

下面是一些简单的配置,完整配置可以参照这里

{
            "manifest_version": 2,
            "name": "测试内容",
            "version": "1.0.0",
            "description": "测试内容描述",
            "author": "<1196778674@qq.com>",
            "content_scripts":[
                {
                    "matches": ["<all_urls>"],
                    "js": ["js/jquery.js", "js/content-script.js"],
                    "run_at": "document_start"
                }
            ],
            "homepage_url": "https://www.jianshu.com/u/215a92cb71b8"
        }

background.js
可以理解成后台,是一个常驻的页面,它的生命周期是插件中所有类型页面中最长的,它随着浏览器的打开而打开,随着浏览器的关闭而关闭,所以通常把需要一直运行的、启动就运行的、全局的代码放在background里面。

background的权限非常高,几乎可以调用所有的Chrome扩展API(除了devtools),而且它可以无限制跨域,也就是可以跨域访问任何网站而无需要求对方设置CORS。

在上面的配置中,background可以通过page指定一张网页,也可以通过scripts直接指定一个JS,Chrome会自动为这个JS生成一个默认的网页:

配置:

// manifest.json

{
    "background":
    {
        "page": "background.html"
        "scripts": ["js/background.js"]
    },
}

popup.js

popup是点击browser_action或者page_action图标时打开的一个小窗口网页,焦点离开网页就立即关闭,一般用来做一些临时性的交互。

popup可以包含任意你想要的HTML内容,并且会自适应大小。可以通过default_popup字段来指定popup页面,也可以调用setPopup()方法。

配置:

// manifest.json
{
    "browser_action":
    {
        "default_icon": "img/icon.png",
        "default_title": "Chrome插件实例",
        "default_popup": "popup.html"
    }
}

需要特别注意的是,由于单击图标打开popup,焦点离开又立即关闭,所以popup页面的生命周期一般很短,需要长时间运行的代码千万不要写在popup里面。

在权限上,它和background非常类似,它们之间最大的不同是生命周期的不同,popup中可以直接通过chrome.extension.getBackgroundPage()获取background的window对象。

右键菜单

Chrome插件可以自定义浏览器的右键菜单,主要是通过chrome.contextMenusAPI实现。

配置:

// manifest.json
{ "permissions": ["contextMenus"] }
// background.js
chrome.contextMenus.create({
    title: "右键菜单",
    onclick: function () { alert('您点击了右键菜单!'); }
});

omnibox配置

omnibox是向用户提供搜索建议的一种方式。

// manifest.json
{
    // 向地址栏注册一个关键字以提供搜索建议,只能设置一个关键字
    "omnibox": { "keyword" : "test" },
}

好了,以上就是自己开发Chrome插件的大概流程,具体详细内容请参照这里

相关文章

  • Mac下导出chrome插件

    Mac下导出chrome插件Chrome Extensions 插件扩展程序开发入门mac 下chrome扩展插件...

  • Chrome插件开发

    Chrome插件开发

  • 开发笔记

    最近做rails开发。 1 chrome 插件 postman这个chrome插件,用来调试api还是颇为方便的。...

  • 技术开发中好用的chrome插件

    今天的主要推荐技术开发用的Chrome插件,对做技术开发的朋友很有帮助,用了这些chrome插件,开发效率可以得到...

  • react-native Expo 下载

    reactNative开发工具 Expo自行下载:Chrome插件下载(需要梯子翻墙)1、下载Chrome插件AP...

  • Chrome扩展开发

    Chrome扩展开发 标签(空格分隔): Chrome扩展 1、写在前面 Chrome插件是一个用Web技术开发...

  • Chrome插件初步上手体验

    最近有接到任务需要开发一款具备自动抓取功能的chrome插件,借此机会也对chrome插件开发工作有了初步的认识,...

  • 5分钟开始你的Chrome插件开发

    快速了解 & 直接下载上手开发 1、什么是Chrome插件 Chrome插件通常是.crx后缀的文件;通过谷歌网上...

  • 像用 IDEA 调试 Java 代码一样,用 WebStorm

    开发工具 WebStorm + Google Chrome + JetBrains IDE Support 插件 ...

  • chrome插件开发

    Chrome插件的开发,实际上就是开发一个Web应用,然后按照Chrome的规则将这个快捷方式安装到Chrome的...

网友评论

      本文标题:开发属于自己的Chrome插件

      本文链接:https://www.haomeiwen.com/subject/tapvfrtx.html