私はブラウザアクションのヘッダとしてスクリプト(popup.js)を読み込むpopup.htmlを持っています。 これは、サイトへの呼び出しを行い、必要な情報を取得します。Chrome拡張機能:新しいタブを作成する前に情報を収集していますか?
XMLHTTPRequestsを使用して必要な情報をすべて取得し、popup.jsの変数に保存しました。
今、私は新しいタブを作成し、ウェブページを読み込み、保存した情報を使ってフォームに記入します。
chrome.tabs.create({ 'url': "https://site.html" });
この行はpopup.js
である。これは、すぐに所望の部位に私を取るが、私は以前に取得したすべての情報を削除するようです。タブを作る前に私が欲しい情報を私に告げることさえありません。特定のURLを持つタブを作成し、popup.jsの中にフォームを埋め込むために以前にpopup.jsで収集した情報を使用する方法私の論理に欠陥がありますか?何かアドバイスありがとうございました。
更新:これは理にかなっています。
これは、フォームがあるsite.html内部の私のpopup.js
function do(){
var xhr = new XMLHttpRequest();
xhr.open("Get", Url);
xhr.send();
xhr.addEventListener("readystatechange", function() {
if (this.readyState === 4) {
var dogName = this.responseText;
alert(dogName)
}
do();
chrome.tabs.create({ 'url': "site.html" });
です。私はその形にこれをすることでした。
document.getElementById('form').getElementsByTagName('input')[0].value = dogName;
document.getElementById("btnOK").click()
しかしライン
chrome.tabs.create({ 'url': "https://site.html" });
はそれだけで何かを警告するdo()
を実行してそのページに私を取るとしませんが、存在する場合、それは何かを文句を言いません。
作成行を削除することによって、拡張機能は私に必要な情報を通知します。
あなたはそれが本当に短いURLを任意の情報なしで与えると、何を表示する以外何ですか? – dandavis
いいえ、私はすぐにそれを短くして、再びそれを修正してください – Stevie