Chrome扩展程序中的Chrome扩展程序更新值

时间:2018-06-11 16:28:50

标签: javascript google-chrome-extension

我有一个Chrome扩展程序,当您单击扩展程序图标并显示表单时,会显示一个弹出窗口。到目前为止,这部分非常好用,因为它应该如此。

这个想法是让这个表格进行一些计算,当我按下一个按钮时,它应该根据我的表格中已经通过计算更新的2个输入字段更新网页上的2个文本字段(计算部分有效)

这是我的popup.js

到目前为止,我可以让它更改网页上的背景颜色,所以点击它,它正在页面上做的东西,所以它正在工作。

document.addEventListener('DOMContentLoaded', function() {
  document.getElementById('add').onclick = function() {
    var maxPercOpenPosOut = document.getElementById('maxPercOpenPosOut').value;
    var percBuyAmountOut = document.getElementById('percBuyAmountOut').value;

    chrome.tabs.executeScript(null, {
            code:"document.body.style.backgroundColor='red'"
        });
      window.close();
  };
});

但我显然不想改变背景颜色,但我想填写 var maxPercOpenPosOutpercBuyAmountOut到网页上的某些数字字段中,这是我要更新其值的部分。

<input type="number" min="1" class="form-control" name="max_open_positions_per_coin" value="10" placeholder="20" required="">

我尝试使用document.querySelector("input[name='max_open_positions_per_coin']").value = maxPercOpenPosOut,但无法让它发挥作用。

1 个答案:

答案 0 :(得分:0)

你可以尝试这样的事情:

内部popup.js:

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) 
{
    // message for content scripts
    chrome.tabs.sendMessage(tabs[0].id, {...});
}

内页js:

chrome.extension.onMessage.addListener(function(request, sender, sendResponse) 
{ 
    ...
});