Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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_Javascript Events_Google Chrome Extension - Fatal编程技术网

Javascript Chrome扩展-附加代码的事件侦听器

Javascript Chrome扩展-附加代码的事件侦听器,javascript,javascript-events,google-chrome-extension,Javascript,Javascript Events,Google Chrome Extension,我正在编写一个chrome扩展,试图在现有页面上创建一个GUI。该GUI由一个输入文本字段和一个回复按钮组成。我通过创建一个HTML字符串并将其附加到网站来创建GUI 我想添加一个事件侦听器,这样当按下reply按钮时,它将触发一个函数,这样我就可以将输入文本字段中的数据发送到我的服务器。据我所知,一旦代码被添加到页面中,它就无法访问script.js,因此无法访问事件侦听器。还有别的选择吗 my GUI的图像:您正在向其中注入代码的页面是从内容脚本中导出的沙盒。但是,您的内容脚本可以完全访问页

我正在编写一个chrome扩展,试图在现有页面上创建一个GUI。该GUI由一个输入文本字段和一个回复按钮组成。我通过创建一个HTML字符串并将其附加到网站来创建GUI

我想添加一个事件侦听器,这样当按下reply按钮时,它将触发一个函数,这样我就可以将输入文本字段中的数据发送到我的服务器。据我所知,一旦代码被添加到页面中,它就无法访问script.js,因此无法访问事件侦听器。还有别的选择吗


my GUI的图像:

您正在向其中注入代码的页面是从内容脚本中导出的沙盒。但是,您的内容脚本可以完全访问页面DOM,包括事件。这意味着您可以向附加的元素添加事件侦听器。您必须以不引人注目的方式添加它们,以便内容脚本随后可以向后台页面发送消息:

内容脚本:

var html = document.createElement('div');
    html.innerHTML = '<input id="clickMe" type="button" value="Click Me" />';
document.body.appendChild(html);

document.getElementById('clickMe').addEventListener('click', function() {
    // do stuff
});
var html=document.createElement('div');
html.innerHTML='';
document.body.appendChild(html);
document.getElementById('clickMe')。addEventListener('click',function(){
//做事
});

太好了。非常感谢。午饭回来后我会试试:)如果我还有什么问题,我会告诉你的。