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

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

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

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

Chrome extension

Chrome拡張機能

Q&A

解決済

1回答

2637閲覧

Chrome拡張 executeScriptできない

navca

総合スコア44

Chrome

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

Chrome extension

Chrome拡張機能

0グッド

0クリップ

投稿2019/06/21 15:26

新しく開いたウインドウと現在開いているウィンドウとでタブを開き、前者のウインドウのDOMにアクセスしてから、後者のDOMにアクセスしたいです。

chrome.windows.create({url:'https://www.yahoo.co.jp/', focused : true, top:0, left :600}, function(win){ //↓これ(executeScript)が失敗したら中断したいので(エラー処理は省略)、2つ目のchrome.tabs.createはcallbackの中にいなければなりません。 chrome.tabs.executeScript(win.tabs[0].id, {code:'const form = document.getElementById("srchtxt"); if(form){form.value = "yahoo"; true}else{false}'}, function(result){ if(result[0]){ chrome.tabs.create({url:"https://docs.djangoproject.com/ja/2.2/"}, function(tab){ chrome.tabs.executeScript(tab.id, {code:"document.getElementById('id_q').value = 'Django'"}) }) } }) })

これだと、やふーのみテキストの挿入は成功しますが、djangoの方がフォームに挿入することができません。ご教示いただければ幸いです。

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

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

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

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

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

guest

回答1

0

自己解決

これでいけました。 //popup chrome.windows.create({url:'https://www.yahoo.co.jp/', focused : true, top:0, left :600}, function(win){ chrome.tabs.executeScript(win.tabs[0].id, {code:'const form = document.getElementById("srchtxt"); if(form){form.value = "yahoo"; true}else{false}'}, function(result){ if(result[0]){ chrome.tabs.create({url:"https://docs.djangoproject.com/ja/2.2/"}) } }) }) //background chrome.tabs.onUpdated.addListener((tabId){ chrome.tabs.query({}, function(tabs){ let n = tabs.length - 1 chrome.tabs.executeScript(tabs[n].id, {code:"document.getElementById('id_q').value = 'Django'"}) }) })

投稿2019/06/22 11:29

編集2019/06/22 11:30
navca

総合スコア44

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問