前提・実現したいこと
YouTubeのチャットの翻訳をするFirefox拡張機能を作っています。
コンテンツスクリプトを走らせることで翻訳をしているのですが、なぜかそもそもコンテンツスクリプトが走らないことがあります。
発生している問題・エラーメッセージ
YouTubeの動画再生ページを初めて開いたとき、コンテンツスクリプトが走りません。具体的には以下のような事象が発生します。
前提として、テストのために以下のようなファイルを配置しました。
test.js
js
1console.log("test.js run!")
manifest.json
json
1... 2 "content_scripts": [ 3 { 4 "matches": [ 5 "*://*.youtube.com/live_chat*", 6 "*://*.youtube.com/watch*" 7 ], 8 "js": ["youtube.js", "test.js"] 9 } 10 ], 11...
さらに、翻訳を行うスクリプトの先頭にもログを残すよう書きました。
js
1'use strict'; 2// 翻訳apiのURL 3let translaterUrl = "hogehoge"; 4// 翻訳する言語 5let targetLang; 6// 翻訳するノード 7let target; 8// 翻訳するチャット欄のあるフレーム 9let targetFrame; 10// 翻訳の監視が走っているかの値 11let observerRan = false; 12 13// テスト用のログ 14console.log("youtube.js run!"); 15...
以下はこの環境下での行った操作とログです。
1.YouTubeの再生ページを初めて開いたときのログ
LegacyDataMixin will be applied to all legacy elements. Set `_legacyUndefinedCheck: true` on element class to enable. CSI/tbsd_ cb=gapi.loaded_0:404 CSI/_tbnd cb=gapi.loaded_0:404 WEBGL_debug_renderer_info is deprecated in Firefox and will be removed. Please use RENDERER.
2.そこからさらに別の動画に飛んだ時のログ
LegacyDataMixin will be applied to all legacy elements. Set `_legacyUndefinedCheck: true` on element class to enable. live_chat_polymer.js:3039 CSI/tbsd_ cb=gapi.loaded_0:404 CSI/_tbnd cb=gapi.loaded_0:404 LegacyDataMixin will be applied to all legacy elements. Set `_legacyUndefinedCheck: true` on element class to enable. desktop_polymer.js:4234
3.その動画ページでF5を押し、ページをリロードしたときのログ
youtube.js run! //ここでやっとコンテンツスクリプトが走る test.js run! 2 stopTranslateServiceの多重呼び出しがかかりました。 youtube.js:92 //(内部的にこのログは正常な処理です。) LegacyDataMixin will be applied to all legacy elements. Set `_legacyUndefinedCheck: true` on element class to enable. live_chat_polymer.js:3039 CSI/tbsd_ cb=gapi.loaded_0:404 CSI/_tbnd cb=gapi.loaded_0:404
試したこと
ひたすらいろいろな場所にブレークポイントを置いて、ログを出力するコードも書きテストしましたが、どうしても何も引っ掛からないのでそもそもコンテンツスクリプトが走っていないということしかわかりませんでした。
補足情報(FW/ツールのバージョンなど)
開発環境:
Visual Studio Code 1.60.0 + Debugger for Firefox v2.9.4
実行環境:
Windows 10 21H1
Firefox Developer Edition 93.0b3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/13 09:22
2021/09/13 09:51