我正在开发Chrome扩展程序。我有一个内容脚本,我在运行扩展程序的页面上向文档添加一个按钮,我想用内容脚本中定义的函数处理它的click事件。
var parameter = "value extracted from the page";
var onclick = "onclick='myHandler(\"" + parameter + "\")'";
var button = "<span><button " + onclick + "></button></span>";
$(button).insertAfter("#element");
但是,当我单击按钮时,我收到错误,即未定义该功能。在我看来,内容脚本的操作范围与页面本身上的脚本不同。后者不访问在内容脚本的全局范围内声明的任何内容。
我发现我可以将函数代码和所有必需的变量注入到页面中(以与按钮类似的方式插入包含该函数的脚本标记),然后从内容脚本访问结果,但是它似乎是一个&#34; hack&#34;对我而言,我不确定这是否可行。