Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从弹出窗口更新页面中的Chrome扩展名值_Javascript_Google Chrome Extension - Fatal编程技术网

Javascript 从弹出窗口更新页面中的Chrome扩展名值

Javascript 从弹出窗口更新页面中的Chrome扩展名值,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我有一个chrome扩展,当你点击扩展图标并显示表单时,它会显示一个弹出窗口。到目前为止,这部分工作正常 这个想法是让这个表单进行一些计算,当我按下一个按钮时,它应该根据我表单中的两个输入字段更新网页上的两个文本字段,这两个输入字段已经通过计算进行了更新(计算部分工作) 这是我的popup.js 到目前为止,我可以让它改变网页上的背景颜色,所以点击,它在网页上做的东西,所以这是工作 document.addEventListener('DOMContentLoaded', function()

我有一个chrome扩展,当你点击扩展图标并显示表单时,它会显示一个弹出窗口。到目前为止,这部分工作正常

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

这是我的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 maxpocpenposout
percbyamountout
进入网页上的一些数字字段这是我要更新的部分

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


我试过使用
document.querySelector(“输入[name='max\u open\u positions\u per\u coin']”。value=maxpercepopenposout
,但无法使其工作。

您可以尝试以下操作:

在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) 
{ 
    ...
});

有些网站无法识别对输入值的直接修改。在这种情况下,您需要先.focus()输入,然后将document.execCommand与
insertText
命令一起使用,请参见示例。