Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.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_Function_Google Chrome_Google Chrome Extension_Undefined - Fatal编程技术网

JavaScript Chrome扩展:未定义函数

JavaScript Chrome扩展:未定义函数,javascript,function,google-chrome,google-chrome-extension,undefined,Javascript,Function,Google Chrome,Google Chrome Extension,Undefined,我正在编写facebook脚本,禁止所有喜欢在群中发帖的人 我的代码 var links = document.getElementsByClassName("UFINoWrap"); var hrefAttr=[]; var profileID=[]; var elements = document.getElementsByClassName('UFILikeSentenceText'); var buttonID = 0; function openBanList(id) {

我正在编写facebook脚本,禁止所有喜欢在群中发帖的人

我的代码

var links = document.getElementsByClassName("UFINoWrap");
var hrefAttr=[];
var profileID=[];
var elements = document.getElementsByClassName('UFILikeSentenceText');

var buttonID = 0;

function openBanList(id)
{   
    var linkString = "https://m.facebook.com/browse/likes/?id=";
    linkString+=profileID[id];
    var win = window.open(linkString);
}

for (var i = 0; i < elements.length; i++) 
{
    var buttonStringHTML = "      <button onclick=\"openBanList(id)\" id=\"";
    buttonStringHTML+=buttonID;
    buttonStringHTML+="\">Ban.</button>";
    buttonID++;
    elements[i].innerHTML+=buttonStringHTML;
}

for(var i=0; i<links.length; i++) 
{
    hrefAttr.push(links[i].getAttribute("href"));
    var begin = (hrefAttr[i].indexOf("&id") +4);
    profileID.push(hrefAttr[i].substring(begin, hrefAttr[i].length));
}
var links=document.getElementsByClassName(“UFINoWrap”);
var hrefAttr=[];
var profileID=[];
var elements=document.getElementsByClassName('UFILikeSentenceText');
var buttonID=0;
函数openBanList(id)
{   
var linkString=”https://m.facebook.com/browse/likes/?id=";
linkString+=profileID[id];
var win=窗口打开(链接字符串);
}
对于(var i=0;i对于(var i=0;i,页面和内容脚本是分开的。
内容脚本不会注入页面!相反,内容脚本与页面一起运行。页面无法访问内容脚本,内容脚本只能访问页面的dom(以及您的背景页面)

当您通过dom添加onclick事件并单击它时,dom将查找一个从未由其可访问的页面部分定义过的函数。如果您希望此功能正常工作,则必须在每个按钮上运行此功能:

mybuttonelement.onclick=function(){openbanlistthing(this.id)}

这里没有显示的代码一定有问题。请特别在函数a()中显示完整的代码{//我们需要它}也许我不想否决我的问题,请帮帮我吧?这是我的第一篇帖子,ffs…可能是@wOxxOm的重复不,这是一个错误的重复目标。这是内容脚本代码-所以内联代码是可以的,但它在不同的上下文中执行。TAA的答案确定了它。现在它工作了,但它不发送ID,我只是添加了元素[I]。onclick=function(){openBanList(buttonID)};到第一个forkeep
this.id
。单击按钮时,
this
将引用该按钮,因此
openBanList(this.id)
应执行openBanList()使用按下按钮的id。当我的按钮由innerHTML添加时,我该怎么做?ex在控制台中不做任何事情您不能使用dom事件!创建按钮后,通过javascript添加事件,如下所示:哦,现在我明白了,谢谢,它可以工作。但下一个问题是,我正在打开新选项卡,并希望在新选项卡中添加按钮但控制台说“无法设置未定义的属性‘innerHTML’”。我猜它仍然关注第一个选项卡。即使我执行var win=window.open(blabla);然后执行win.document.getElementsByClassName(blablabla);它仍然是一样的。