コンテキストメニューにあるメニューをクリックしたあと、隣に新しいタブを開き(現在は同じURLを指定)そのタブが表示しているページのwindow
(ここではWebExtensionsAPIのwindowsとは違うものだと思います。)を取得したいのですが、どうすれば実現できるかがわかりません。ご存知の方いらっしゃいましたら教えていただけないでしょうか。詳細はソースにて示しました。
main.js
JS
1// メニューの作成 2browser.menus.create({ 3 id: "myId", 4 title: "myAddon", 5 contexts: ["all"] 6}); 7 8// メニューが押されたときのハンドラを登録 9browser.menus.onClicked.addListener(function(info, tab){ 10 switch(info.menuItemId){ 11 case "myId": 12 browser.tabs.create({ 13 active: true, 14 url: tab.url, 15 index: tab.index + 1, 16 }).then(function(tab){ 17 // ----- 質問に対応する処理はココ ------------ 18 // ここでtabオブジェクトからそのタブに対応するwindowを取得したい 19 // ------------------------------------------- 20 window.document.addEventListener("DOMContentLoaded", function(event){ 21 //ここでDOMツリーの操作 22 }); 23 }); 24 break; 25 } 26});
再現しやすいようにpackage.json
も載せておきます。
JSON
1{ 2 "manifest_version": 2, 3 "name": "myAddon", 4 "version": "1.0", 5 6 "description": "this is my addon.", 7 "background": { 8 "scripts": ["main.js"] 9 }, 10 "permissions": [ 11 "menus", 12 "tabs" 13 ] 14}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。