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_action
orpage_action
property in manifest.json? - 🙋♂️ Are you using the
chrome.browserAction
orchrome.pageAction
JavaScript 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_policy
in 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 - また、関数はシリアライズされるので関数内でまた別の関数を呼ぼうとするとエラーになる
browser_action
or page_action
property in manifest.json?
🙋♂️ Are you using the
chrome.browserAction
or chrome.pageAction
JavaScript API?
🙋♂️ Are you using the action
に統一。
manifest だけでなくソースコード内の chrome.browserAction
なども chrome.action
に変更する必要あり。
あと、わかりづらいけどcommands
でショートカットキーを設定してる場合、ここも _execute_browser_action
-> _execute_action
に変える必要がある。
Chrome を再起動しないとショートカットキーが動作しない?
なお、これを機にクリップボードにコピーしている箇所を navigator.clipboard.writeText
に変えようかと思ったけど
DOMException: Document is not focused.
エラーが出るのは変わらずだったので断念。
このスクラップは2022/05/31にクローズされました