scriptcat icon indicating copy to clipboard operation
scriptcat copied to clipboard

迁移至Manifest Version 3

Open CodFrm opened this issue 3 years ago • 20 comments

阻碍

后台脚本/定时脚本

由于MV3将background修改为了service worker,该项修改直接导致了无法在background的sandbox中运行后台脚本,可能需要等待该提案实现:https://github.com/w3c/webextensions/issues/170https://docs.google.com/document/d/1b-I-vXq2h7OFFmus78jZXIWcKilKJLKLeGplnY9wt7k/edit#heading=h.snjc0asv87ou,但啥时候实现,也不太清楚,实现之后也得有一段时间的过渡期

service worker中无法使用setTimeout等方法,直接导致cron包无法使用,但chrome也提出了chrome.alarms,实现起来可能比较麻烦

~~不支持sandbox的问题比较致命,但为了长期的发展,长痛不如短痛0.10.0将重构支持MV3,对于后台脚本的问题可能使用打开新窗口的方式暂时实现,等offscreen documents提案实现后再迁移(但也不确定能不能支持我们后台脚本的需求)~~

MV3还有不少有利的提案还在处理中,等到完全停止时也还有一段时间,并且完全停止后也还需要一段过渡时间,国内浏览器与其他厂商的态度也不一,脚本猫继续使用MV2进行开发,开发过程中注意MV3的某些特性吧(例如service worker)

油猴脚本

service worker中不支持URL.createObjectURL,可能会导致GM_xhr方法无法获取二进制之类的内容


上述是准备重构时发现的问题,后续继续补充


计划时间:

脚本站后端重构完成之后,预计2023年中旬

CodFrm avatar Jul 21 '22 15:07 CodFrm

👍

SSmJaE avatar Mar 24 '23 13:03 SSmJaE

mv3中的脚本猫后台脚本可行性验证: cookbook.offscreen-dom.zip

但是改动实在太多了,GM API也不确定能不能全实现,而且没动力,mv3重构计划等Google的ddl再说

CodFrm avatar Jun 15 '23 15:06 CodFrm

firefox的mv3迁移指南:https://extensionworkshop.com/documentation/develop/manifest-v3-migration-guide/

CodFrm avatar Jun 19 '23 08:06 CodFrm

GM_xmlhttpRequest 实现问题:https://github.com/w3c/webextensions/issues/176

CodFrm avatar Jul 03 '23 16:07 CodFrm