【发布时间】:2012-04-19 21:24:45
【问题描述】:
我正在尝试创建 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() 函数。
这里是开启函数 - 它只确定 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]);
}
}
}
}
所以 Result 是 textarea 被 \n 分割的值,radio 值是选中的单选按钮的值。
这很好用 - 单击浏览器图标后会弹出带有表单的弹出窗口,但是当我填写文本区域并选择第一个单选按钮时,然后单击 GO,开启功能不起作用...
唯一起作用的是带有工作单词的弹出警报,然后是从 click(e) 函数开始的警报。
因此开启器功能启动,写入警报,但没有其他...不会打开任何选项卡,没有任何反应...
有人可以帮帮我吗?
【问题讨论】:
标签: forms google-chrome tabs google-chrome-extension