Chrome扩展程序 - 填写表单后打开多个标签页

时间:2012-04-19 21:24:45

标签: forms google-chrome tabs google-chrome-extension

我正在尝试创建Chrome扩展程序 - 当用户点击某个图标时,会出现带有该表单的弹出窗口。表单中的textarea可以包含更多来自URL的参数。填写并单击“开始”按钮后,需要打开包含具有此参数的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()函数。

这是开场功能 - 它只确定textarea和单选按钮的值,并在textarea中打开与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的值,而无线电值是所选单选按钮的值。

这很好用 - 点击一个浏览器图标后会出现带有表单的弹出窗口,但是当我填写textarea并选择第一个radiobutton时,我点击GO,开启者的功能不起作用......

唯一有效的是带有工作单词的弹出警报,然后是从click(e)函数开始的警报。

所以开启功能开始,写下警报,但没有别的......没有标签会打开,没有任何反应......

有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

我发现使用chrome.tabs.create函数在扩展中比window.open函数更好。

chrome.tabs.create({url:"https://www.facebook.com/PSChrome"});
相关问题