Google Chrome扩展程序:创建标签并使用文字

时间:2016-04-13 18:35:54

标签: javascript google-chrome-extension

我正在尝试根据我拥有的一些网址打开一组标签,然后根据网址附带的一些伴随数据在这些标签上输入文本到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,然后在加载选项卡时,将模板文本填入文本区域。当然这不应该太难(着名的遗言?)

谢谢!

0 个答案:

没有答案