実現したいこと
Chrome拡張機能のJavaScriptから、Chromeで開いているWebページの
document変数を取得する。
発生している問題・分からないこと
Chrome拡張機能で、JavaScriptが動くことは確認できました。
例として、下のコードを実行すると
拡張機能のpopup.htmlのタイトルが取得できます。
しかし、popup.htmlではなく、現在Chromeで開いているページのタイトルを
取得したいのです。
chrome.tab とか、ググったらありましたが、よくわかりませんでした。
どうすれば、拡張機能から現在開いているページのタイトルを取得できるのでしょうか?
該当のソースコード
JavaScript
1const elmNote = document.getElementById("note"); 2const elmSave = document.getElementById("save"); 3 4elmSave.onclick = () => { 5 'use strict' 6 chrome.tabs.query({active: true, lastFocusedWindow: true},tabs => { 7 // 拡張機能のHTMLが読み込まれる 8 console.log(document.title); 9 }) 10} 11 12
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
拡張機能に設定したHTMLのタイトルは取得できるが、
現在Chromeで開いているWebページのタイトルは取得できない。
補足
特になし
質問後調べました
https://qiita.com/plumfield56/items/99f5cfc1bf5fd03e8040
ここを参考にしました。
JavaScript
1const elmNote = document.getElementById("note"); 2const elmSave = document.getElementById("save"); 3 4'use strict' 5 6{ 7 chrome.tabs.query({}, tabs => { 8 for(let i=0; i<tabs.length; i++){ 9 console.log(tabs[i].title); 10 } 11 }); 12}
調べた結果、上のようなソースコードになりました。
console.log でログにタイトルが出力されると思いましたが、
ログには undefined が表示されます。
tab にアクセスするために json に permission に tabs を追加しましたが、
それでもログには、undefined が表示されます。
どうすればいいタイトルが表示されるようになりますか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/12/11 10:12
2024/12/12 01:55