実現したいこと
chrome 拡張 manifest v2 で動いていたものをうごくようにしたい
前提
特定のサイトを訪れたときに
ディベロッパツールにパネルを追加して情報表示する拡張機能を使っています
正確には他の人が昔公開しててもうメンテナンスしなくなったツールを
カスマイズして使ってます
発生している問題
昨日まで動いていた拡張機能が
今日PCを再起動したら急に動かなくなりました
"manifest_version": 2, の行で
Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.
というエラーが出ています
該当のソースコード
manifest.json
{ "content_security_policy": "script-src 'self' https://ajax.googleapis.com https://ssl.google-analytics.com; object-src 'self';", "description": "", "devtools_page": "html/devtools.html", "icons": { "128": "icon/store_icon.png", "16": "icon/icon.png", "48": "icon/icon.png" }, "manifest_version": 2, "name": "test", "version": "1.0.0" }
試したこと
https://zenn.dev/katoaki/articles/4e7548b533d7b3
こちらを見ながら
{ "content_security_policy": { "extension_pages": "script-src 'self' https://ajax.googleapis.com https://ssl.google-analytics.com; object-src 'self';" }, "description": "", "devtools_page": "html/devtools.html", "icons": { "128": "icon/store_icon.png", "16": "icon/icon.png", "48": "icon/icon.png" }, "manifest_version": 3, "name": "test", "version": "1.0.0", "host_permissions": [ "http://localhost/*" ] }
と変えてみたところ
"content_security_policy": "script-src 'self' https://ajax.googleapis.com https://ssl.google-analytics.com; object-src 'self';",
というエラーになります
自分が使いたい機能にこの2つの外部URLは使ってないので
"content_security_policy": { "extension_pages": "script-src 'self'; object-src 'self';" },
とかえたところエラーはなくなったんですがパネルにタブが表示されません
そもそも v2 の廃止って24年まで延長されたという記事を見たんですがもう使えないのでしょうか?
https://forest.watch.impress.co.jp/docs/news/1443758.html
補足情報(FW/ツールのバージョンなど)
Windows10
バージョン: 114.0.5735.199(Official Build) (64 ビット)
です
動いていたのがどのバージョンだったのかもうわかりません
追記
manifest のバージョンのせいではないということなので
パネル開くまでのソースを書きます
ほんとは全部のコードを’公開できればいいんですが
人の作ったコードを改変して勝手に再配布していいかわからないので
manifest に
"devtools_page": "html/devtools.html",
とあるので
html/devtools.html
<!DOCTYPE html> <script type="text/javascript" charset="UTF-8" src="../js/devtools.js"></script>
ここで参照されてる js/devtools.js
/** * @fileoverview devtools拡張 */ chrome.devtools.inspectedWindow.eval('document.baseURI', function(page_url) { chrome.devtools.panels.create("ゲーム情報", 'icon/icon.png', 'html/panel.html'); });
となっていてここでパネルを開いているのかなと思います
拡張機能に関して知識がほとんどなくて
パネルが開いたあとの vue で動いてる javascript や html を改変して使ってるだけで
パネルが開くまでの動作原理やデバッグ方法もよくわかっていません

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/07/11 18:55