chrome拡張機能を作っていますがわからないところがあります
右クリックから拡張機能のコンテクストメニューをクリック
↓
すると新しいウィンドウでライブドアのページが開かれそのページの名前欄のテキストボックスに自動で文字列が入力される
って機能を実現したいと思い、
chrome.window.createメソッドと
chrome.tabs.executeScriptを使って
javascript
1~~ 2chrome.contextMenus.onClicked.addListener((info, tab) => { 3 const Cid = info.menuItemId 4 if (Cid === "parent") { //ここから右クリックされたときに実行したいコード 5 chrome.windows.create({url:'http://gochmatome.livedoor.blog/archives/9499087.html'}, 6 function (w) {//wにはwindowオブジェクトが格納される 7 chrome.tabs.executeScript(w.tabs[0].id,{file: 'contextMenu.js' }) //w.tabs[0].idは新たに開いたウィンドウのタブのtabid 8 } 9 ) 10} 11});
contextMenu.js
document.getElementById("comment-form-author").value = "挿入したい文章"//comment-form-authorはlivedoorブログの名前欄のID
みたいな感じのコードを書いてみたんですが、右クリックから実行させても新しいウィンドウが開くだけで文字列は挿入されません
つまりchrome.tabs.executeScriptの部分がまるっきり機能してません
私のイメージとしてはchrome.windows.createで新しいウィンドウを作った後
コールバック関数として設定した
function (w) { chrome.tabs.executeScript(w.tabs[0].id,{file: 'contextMenu.js'}) }
によって新しく開いたウィンドウ内のタブ(w.tabs[0].idによってtabIdを指定)にcontextMenu.jsを実行できるはずだと思ったんですがどこかおかしいしでしょうか?
エラーメッセージ
Unchecked runtime.lastError: Cannot access contents of url "http://gochmatome.livedoor.blog/archives/9499087.html". Extension manifest must request permission to access this host.
ちなみにライブドア使ったのは深い意味はありません
ようするに新しいウィンドウ開く→そのページ内のテキストボックスに文字列を入力って機能を実現したいんです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。