过程分享 - 我的第一个 Chrome 插件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
stefanieewu
V2EX    分享创造

过程分享 - 我的第一个 Chrome 插件

  •  
  •   steanieewu 2024-01-10 17:24:56 +08:00 2538 次点击
    这是一个创建于 641 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    我做的这个插件比较简单,就是下载 B 站评论,提取视频关键字、图表展示;因为功能比较简单,需要到的权限也不多;主要是技术选择上还有发布过程中遇到了些问题,,在这里简单分享下;

    省流

    如果你也要做一个 chrome 插件,那么下面几个东西是推荐你先准备或者了解的

    • 插件不像 App 可以设置价格,也就是如果你想盈利,一般要内置付费功能,比如会员、兑换码这种(需要自行开发)
    • 5 刀的注册成本,国内开发者大概率需要淘宝买对应的服务(国内招行 visa 已试,不支持)
    • 基本的 html 、js 、css 即可上手(如果是前端开发者,推荐 plasmo 脚手架

    正题

    第一个问题:注册成本

    开发者注册,你要在 chrome 插件商店发布你的插件,你首先要注册成为「 chrome 开发者」,需要缴纳 5 美元进行认证,这是一次性的。缴纳只接受(重点)visa 、万事达、jcb 、discover这些卡,然后我就试了我招行的双币 visa 信用卡,结果!!不支持,在网上查了一圈发现有不少人也遭遇过,主要是几种可能

    • 登录的 chrome 账号锁区了,不在 chrome 支持的区域
    • chrome 那边没对接招行 visa ,试一下其他行
    • 也有万事达失败的

    本来想在网上申请一张万事达然后寄过来的,但是至少几天的时间,而且不一定支持!于是在上淘宝关键字买了张海外信用卡试,对面发了一些注意事项和步骤,按着说明最后注册成功了,主要是

    • 全程米国 IP 环境
    • 提示支持失败,不要连续支付(可能锁卡,这时候找客服帮助)

    5 刀的卡,虽然花了 60RMB ,但能减少我办卡和各种找玄学方案花费的时间,我个人是可以接受的

    PS:有类似需求的同学,下单前一定要问一下如果卡不支持支付,能不能退(因为给的卡可能也用不了)

    第二个问题:技术选型

    其实直接 html 、js 、css 撸也可以(毕竟比较简单)

    但我自己之前有折腾过插件开发,觉得原生 HTML 开发效率比较低,比如每次改代码需要手动刷新、加载插件,才能生效;其次是不能和 Vue 、React 现代框架结合起来开发

    调研了一圈找到国外plasmo这个库,有什么特性呢

    • 重点: 支持改代码后自动刷新(应该是通过 CDP 协议去实现的,有趣)
    • react + typescript 开发方式
    • 可选的 Vue 、Svetle 开发(没试过)
    • 其他常见的处理(上传一份 icon ,自动生成不同大小平台的 icon 等)
    • 还有远程加载这些等等...

    第三个问题/建议:Icon/UI

    发布插件,需要有插件 Icon 、插件说明;

    一般来说正经公司都会有 UI 资源,但我们是自己弄着玩呀!

    我是怎么找插件 Icon 的呢,直接在 iconfont 上搜关键字,看到个符合「评论」的 icon ,然后在线调颜色,下载对应的比例下来,就很省事!

    (好像有点水)

    第四个问题:审核

    前后大概提前了 4 、5 次版本,好几次审核不通过的原因说是:包含 v3 禁止的远程代码,我以为是 plasmo 打包后的产物有问题,研究几次审核都失败,后面认真读了审核反馈提到的文档,提到判断有没有远程代码的逻辑:优先检查产品是否带有 http 、https 的链接

    我的插件因为有个功能是导出数据下载成 HTML 显示,依赖了一些第三方的 CDN 资源,然后我就把这部分 https 链接,通过 js 拼接 script 资源地址下载,最后就审核成功了

    最后

    我发布的插件叫做:B 站评论助手,没什么用,写着玩;

    感兴趣的话可以在商店下载:这里下载链接

    6 条回复    2024-10-31 09:34:52 +08:00
    june4
        1
    june4  
       2024-01-10 19:25:34 +08:00   2
    chrome 的审查就查明文 http 链接,拼装一下就能过?,那看来插件的安全性真的只能靠开发者良心发现
    stefanieewu
        2
    stefanieewu  
    OP
       2024-01-11 10:59:12 +08:00
    @june4 怎么说呢,v2 到 v3 权限申请啥的严格了很多,但还是有很多的方式可以绕过去

    分享昨天刚看到一篇关于插件的文章: https://juejin.cn/post/7308519016976515107
    hack21
        3
    hack21  
       2024-01-11 13:05:36 +08:00 via Android
    有意思,学到了
    zhiyu1998
        4
    zhiyu1998  
       2024-01-11 16:55:19 +08:00
    我也是这几天才写了一个插件 , 感谢分享。我也分享一下我的插件:

    https://github.com/zhiyu1998/oh-mini
    shujuliuer
        5
    shujuliuer  
       2024-04-12 13:31:04 +08:00
    一个浏览器域名管理插件上架了

    一: 切换不同环境的网址

    无需键盘,可以轻松切换网址到不同环境下的域名。

    二:查看不同搜索引擎

    无需重复输入关键词,携带关键词跳转到不同的搜索引擎

    三:一键打开“网址集”中的可用网址

    某些网址在当前环境不可用,ping 功能可以一键帮你打开可用网址。

    https://zhuanlan.zhihu.com/p/692102112?
    shpasspass
        6
    shpasspass  
       346 天前
    @stefanieewu 买信用卡的淘宝店还在吗?大佬给个链接~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2816 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 13:43 PVG 21:43 LAX 06:43 JFK 09:43
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86