我正在尝试根据我拥有的一些网址打开一组标签,然后根据网址附带的一些伴随数据在这些标签上输入文本到textareas。这就是我所拥有的:
$( document ).ready(function() {
$("#sendinput").click(function() {
var data = readInputLines($("#input"));
data.map(function(item) {
chrome.tabs.create({active:true, url:item["page_url"]}, fillText);
});
});
});
function readInputLines(textarea) {
var data = textarea.val().split("\n").map(function(item) {
return item.split("\t");
});
var data_dict = data.slice(1,data.length).map(function(item) {
var dict = {};
for(var i = 0; i < item.length; i++) {
dict[data[0][i]] = item[i];
}
return dict;
});
return data_dict;
}
function fillText(tab)
{
chrome.tabs.onUpdated.addListener(function(tabUpdatedId, changeInfo, tabUpdated){
if (tabUpdatedId == tab.id && changeInfo.status && changeInfo.status == 'complete'){
chrome.tabs.executeScript(tabUpdatedId, {code: 'document.getElementById("comment_body").value = "TESTING TESTING"'});
}
});
}
对于在我正在打开的页面/标签上的“textata”中放置“TESTING TESTING”,这似乎没有做任何事情。我在使用带有chrome扩展名的console.log时遇到了麻烦,因此很难说出发生了什么。
这样做的正确方法是什么?
总而言之,我的想法是我有一个包含URL和文本模板的词典列表。从那里,我想浏览该列表并在新选项卡中打开每个URL,然后在加载选项卡时,将模板文本填入文本区域。当然这不应该太难(着名的遗言?)
谢谢!