クロム拡張を作成しようとしています - ユーザーがアイコンをクリックすると、フォームのポップアップウィンドウが表示されます。フォーム内のテキストエリアには、より多くのパラメータをURLに含めることができます。入力してGOボタンをクリックすると、このパラメータを持つURLを持つ複数のタブを開く必要があります。Chrome拡張 - フォームに記入して複数のタブを開きます
例: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ボタンをクリックしたときに、オープナー()関数を起動する必要があります。
これは、テキストエリアとラジオボタンの値を決定するだけで、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]);
}
}
}
}
結果は、\ nで分割されたtextareaの値であり、radio値は選択されたラジオボタンの値です。
これは正常に動作します - ブラウザのアイコンをクリックした後、フォームとポップアップがアップしますが、私はテキストエリアに記入し、最初のラジオボタンを選択すると、私はGOをクリックして、オープナーfunvtionはない作品...
働く唯一のことは、働く言葉を使ったポップアップアラートと、それからclick(e)関数から始まるアラートです。
のでオープナー機能は、起動するアラートを書き込みますが、他には何も...何のタブが開いていないだろう、何も起こりません...
誰かが私を助けてくださいことはできますか?
私は問題がラジオボタンから値を取得していたと思うので、ここでスクリプトが停止したと思います。そして、はい、ありがとう、chrome.tabs.createがうまくいきます!私が知りたいのは、拡張機能はhttp://のページがchromeで開かれているにもかかわらず、空のタブでは動作しないことだけです。私はそれがmanifest.jsonで設定されたパーミッションを持っていると思う - "permissions":[ "tabs"、 "http:// */*"、 "https:// */*" ]空のタブでも動作するように設定する方法 – wotan