質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Chrome extension

Chrome拡張機能

Q&A

解決済

1回答

4903閲覧

chrome拡張機能で新しいウィンドウを作りそのページのテキストボックスに文字列を挿入したい

junjun11

総合スコア3

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Chrome extension

Chrome拡張機能

0グッド

1クリップ

投稿2021/04/26 18:22

編集2021/04/27 14:00

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.

ちなみにライブドア使ったのは深い意味はありません
ようするに新しいウィンドウ開く→そのページ内のテキストボックスに文字列を入力って機能を実現したいんです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Cannot access contents of url "http://gochmatome.livedoor.blog/archives/9499087.html". Extension manifest must request permission to access this host.

エラーメッセージに答えが出ています。
manifest.jsonの"permissions""http://*/"を加えればよろしいかと。
必要なら"https://*/"も。

投稿2021/04/28 14:46

itagagaki

総合スコア8402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問