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