0
我試圖創建一個Chrome擴展程序 - 當用戶單擊圖標時,出現帶有窗體的彈出窗口。表單中的textarea可以包含更多涉及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按鈕時,開啓器()函數需要啓動。
這裏是opener函數 - 它只確定textarea和單選按鈕的值,並打開manz參數在textarea中的許多新選項卡。
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]);
}
}
}
}
所以結果是textarea被\ n分割的值,而radio值是所選單選按鈕的值。
這工作得很好 - 點擊瀏覽器圖標與形式彈出來了之後,但是當我填寫的textarea並選擇第一個單選按鈕,然後我點擊GO,首戰funvtion工作不...
唯一可行的是帶有工作詞的彈出式警報,然後是從點擊(e)功能開始的警報。
所以揭幕戰功能開始,寫警報,但沒有別的......沒有標籤將打開,什麼也沒有發生......
有人可以幫我嗎?
我認爲問題是從單選按鈕獲取值,這就是爲什麼腳本停在這裏。是的,謝謝你,chrome.tabs.create非常好用!我唯一想知道的是 - 只有當任何http://頁面在Chrome中打開時,我的擴展才起作用,但不能在空標籤上工作。我認爲這是在manifest.json中設置的權限 - 「permissions」:[ 「tabs」,「http:// */*」,「https:// */*」 ]但我不知道如何將它設置爲在空白標籤上工作... – wotan 2012-04-20 19:37:43