2012-04-19 6 views
0

クロム拡張を作成しようとしています - ユーザーがアイコンをクリックすると、フォームのポップアップウィンドウが表示されます。フォーム内のテキストエリアには、より多くのパラメータを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)関数から始まるアラートです。

のでオープナー機能は、起動するアラートを書き込みますが、他には何も...何のタブが開いていないだろう、何も起こりません...

誰かが私を助けてくださいことはできますか?

答えて

1

chrome.tabs.create関数を使用すると、window.open関数よりも拡張機能がはるかに優れていることがわかりました。

chrome.tabs.create({url:"https://www.facebook.com/PSChrome"}); 
+0

私は問題がラジオボタンから値を取得していたと思うので、ここでスクリプトが停止したと思います。そして、はい、ありがとう、chrome.tabs.createがうまくいきます!私が知りたいのは、拡張機能はhttp://のページがchromeで開かれているにもかかわらず、空のタブでは動作しないことだけです。私はそれがmanifest.jsonで設定されたパーミッションを持っていると思う - "permissions":[ "tabs"、 "http:// */*"、 "https:// */*" ]空のタブでも動作するように設定する方法 – wotan

関連する問題