※ 引述《danny0838 (道可道非常道)》之铭言:
: 此页提到的几个重点改变:
: 1. 拿掉 background page,改用 service worker
可能会让一部份套件实作功能变更麻烦, 但目前还看不太出来具体影响大不大,
但是应该影响到很多套件, 如果是已经没在维护且有使用 background page DOM 的套件,
可能就直接死了. 感觉我的某些套件有受到影响, 等我改看看才知道会不会死.
: 2. 拿掉 blocking webRequest API,改用 declarativeNetRequest API
影响到挡广告套件, 之前有些套件用别的方法绕过, 企业版本安装之类的,
所以真的影响如何可能要再观察.
: 3. manifest CSP 对 script-src, object-src, worker-src directives 限制更严
这个改动基本上是好的, 提高安全性, 虽然v2版没有禁止 remote script,
不过 AMO 上也早就禁止使用 remote script. v3只是直接从规格上作限制.
挡得更彻底.
: 4. 禁止 chrome.tabs.executeScript 用“code”执行程式码文字
不确定有没有影响, 脚本类的套件可以先把自己的脚本用 content script 注入,
然后把原本要用 chrome.tabs.executeScript 执行的 code 用 message
送给自己已经在 tab 执行的 content script, 让该 script 用 eval 的方式执行.
但是 AMO 早就禁止使用 eval, 但是不确定 chrome web store 有没有挡 eval,
有挡的话就应该死了, 因为直接不允许你用动态的方式生成 script.