Closed6
自作Chrome拡張をManifest v3に対応させる
ピン留めされたアイテム
Copy Title and Url as Markdown Style - Chrome ウェブストア
これをManifest v3に対応させる。
参考リンク
チェックリスト: Manifest V3 migration checklist - Chrome Developers
API Checklist
- Do you have host permissions in your manifest? → No
- 🙋♂️ Are you using background pages?
- 🙋♂️ Are you using the
browser_actionorpage_actionproperty in manifest.json? - 🙋♂️ Are you using the
chrome.browserActionorchrome.pageActionJavaScript API? - Are you currently using the blocking version of
chrome.webRequest? - Are you using these scripting/CSS methods in the chrome.tabs API?
- Are you executing remote code or arbitrary strings?
- Are you executing functions that expect an Manifest V2 background context?
Security Checklist
- Are you making CORS requests in content scripts?
- Are you using a custom
content_security_policyin manifest.json?
🙋♂️ Are you using background pages?
Migrating from background pages to service workers - Chrome Developers
background.html や background.js は廃止。
これが変更としてはおそらく一番大きくて、Service Workerになったことでdocument触れないとかありそう。
~~https://github.com/pokutuna/chrome-cocopy~~
の実装とか参考にする。 background は使ってなかった
- background script から
documentなどを使うにはchrome.scripting.executeScriptでスクリプトを埋め込む必要がある
https://developer.chrome.com/docs/extensions/reference/scripting/#method-executeScript - また、関数はシリアライズされるので関数内でまた別の関数を呼ぼうとするとエラーになる
🙋♂️ Are you using the browser_action or page_action property in manifest.json?
🙋♂️ Are you using the chrome.browserAction or chrome.pageAction JavaScript API?
ここを参照。action はすべて action に統一。
manifest だけでなくソースコード内の chrome.browserAction なども chrome.action に変更する必要あり。
あと、わかりづらいけど
manifest の commands でショートカットキーを設定してる場合、ここも _execute_browser_action -> _execute_action に変える必要がある。
Chrome を再起動しないとショートカットキーが動作しない?
なお、これを機にクリップボードにコピーしている箇所を navigator.clipboard.writeText に変えようかと思ったけど
DOMException: Document is not focused.
エラーが出るのは変わらずだったので断念。
このスクラップは2022/05/31にクローズされました