Chrome 拡張機能を作成しようとしています。ユーザーがアイコンをクリックすると、フォームを含むポップアップ ウィンドウが表示されます。フォームのテキストエリアには、URL に追加されるパラメーターを含めることができます。入力して [GO] ボタンをクリックした後、このパラメーターを含む URL を含む複数のタブを開く必要があります。
例:popup.html
<form name="myform">`
<textarea id="params" name="params" style="width: 170px;height: 270px;"></textarea>`
<input id="edit" checked="checked" type="radio" name="edit" value="1" /> option 1 <input id="edit" type="radio" name="edit" value="2" /> option 2`
<div id="clicked">GO</div>`
</form>`
それからpopup.js
私は持っています:
function click(e) {
chrome.tabs.executeScript(null, {
code: "alert('starting');"
});
opener();
}
document.addEventListener('DOMContentLoaded', function () {
var divs = document.getElementById("red");
divs.addEventListener('click', click);
});
したがって、ユーザーが GO ボタンをクリックすると、opener() 関数を開始する必要があります。
これがオープナー関数です。テキストエリアとラジオボタンの値のみを決定し、テキストエリアにある manz パラメータと同じ数の新しいタブを開きます。
function opener() {
alert('working');
var parameter = document.myform.getElementById("params").value;
for (index = 0; index < document.myform.edit.length; index++) {
if (document.myform.edit[index].checked) {
var radioValue = document.myform.edit[index].value;
break;
}
var Result = parameter.split("\n");
if (radioValue == 1) {
for (i = 0; i < Result.length; i++) {
window.open('http://mypage.com?param=' + Result[i]);
}
}
}
}
したがって、Result は \n で分割された textarea の値であり、radio 値は選択されたラジオ ボタンの値です。
これは正常に動作します - ブラウザのアイコンをクリックすると、フォーム付きのポップアップが表示されますが、テキストエリアに入力して最初のラジオボタンを選択すると、[GO] をクリックすると、オープナー機能が機能しません...
動作する唯一のものは、動作中の単語を含むポップアップ アラートと、click(e) 関数から始まるアラートです。
したがって、オープナー機能が開始され、アラートが書き込まれますが、他には何もありません...タブは開かれず、何も起こりません...
誰か助けてくれませんか?