Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 浏览器扩展名';s使用动态链接创建动态按钮_Javascript_Arrays_Browser_Parameter Passing_Webbrowser Control - Fatal编程技术网

Javascript 浏览器扩展名';s使用动态链接创建动态按钮

Javascript 浏览器扩展名';s使用动态链接创建动态按钮,javascript,arrays,browser,parameter-passing,webbrowser-control,Javascript,Arrays,Browser,Parameter Passing,Webbrowser Control,我正在尝试创建一个浏览器扩展弹出窗口(JS),它创建了许多按钮,这些按钮带有打开不同网页的链接。该函数包含许多参数,主要参数是b_link,它是指向网站的URL数组。由于某些原因,只有数组中的最后一个URL应用于创建的所有按钮 我不完全确定问题出在哪里,我可以推测,但我认为这不会产生效果。有一件事我确实注意到了,并且必须加以补偿,那就是在lambda函数中使用了b_link。仅使用b_-link[i],lambda函数只看到未定义,因此没有打开网页,而是使用var tmpLink=b_-link

我正在尝试创建一个浏览器扩展弹出窗口(JS),它创建了许多按钮,这些按钮带有打开不同网页的链接。该函数包含许多参数,主要参数是b_link,它是指向网站的URL数组。由于某些原因,只有数组中的最后一个URL应用于创建的所有按钮

我不完全确定问题出在哪里,我可以推测,但我认为这不会产生效果。有一件事我确实注意到了,并且必须加以补偿,那就是在lambda函数中使用了
b_link
。仅使用
b_-link[i]
,lambda函数只看到未定义,因此没有打开网页,而是使用
var tmpLink=b_-link[i]至少将链接导入函数并允许打开网页

我应该如何制作这些按钮,使它们都有自己的链接,而不仅仅是数组中的最后一个

有关职能:

function createSiteButton(numBtns, b_id, b_class, b_text, b_link, b_bg)
{
    
    // check if the input text is an array
    if (Array.isArray(b_text))
    {
        // create the new set of buttons
        for (i= 0; i < numBtns; i++)
        {
            var newButton = document.createElement('button');
            var tmpLink = b_link[i];
            newButton.id = b_id;
            newButton.class = b_class;
            newButton.innerHTML = b_text[i];
            newButton.style.background = b_bg;
            
            newButton.addEventListener("click", function()
            {
                if (tmpLink)
                {
                    window.open(tmpLink, "_blank");
                }
            });
            
            button_array[i] = newButton;
        }   
        
        // add the new buttons the screen
        for (i= 0; i < numBtns; i++)
        {
            divID.appendChild(button_array[i]);
        }
    }
}
函数createSiteButton(numBtns、b_id、b_类、b_文本、b_链接、b_bg)
{
//检查输入文本是否为数组
if(Array.isArray(b_text))
{
//创建一组新的按钮
对于(i=0;i
我找到了一种方法,创建一个
a
元素,通过
a.href=tmpLink
设置href,并将按钮作为子元素附加到
a
元素。最后一个功能是:

function createSiteButton(numBtns, b_id, b_class, b_text, b_link, b_bg)
{
    var outputElem = document.getElementById('output');
    
    // check if the input text is an array
    if (Array.isArray(b_text))
    {
        //var tmpLink = null;
        // create the new set of buttons
        for (i= 0; i < numBtns; i++)
        {
            var a = document.createElement('a');
            var newButton = document.createElement('button');
            var tmpLink = b_link[i];
            newButton.id = b_id;
            newButton.class = b_class;
            newButton.innerHTML = b_text[i];
            newButton.style.background = b_bg;
            
            a.href = tmpLink;
            
            a.appendChild(newButton);
            divID.appendChild(a);
            
            button_array[i] = newButton;
        }
    }
}
函数createSiteButton(numBtns、b_id、b_类、b_文本、b_链接、b_bg)
{
var outputElem=document.getElementById('output');
//检查输入文本是否为数组
if(Array.isArray(b_text))
{
//var tmpLink=null;
//创建一组新的按钮
对于(i=0;i
我找到了一种方法,创建一个
a
元素,通过
a.href=tmpLink
设置href,并将按钮作为子元素附加到
a
元素。最后一个功能是:

function createSiteButton(numBtns, b_id, b_class, b_text, b_link, b_bg)
{
    var outputElem = document.getElementById('output');
    
    // check if the input text is an array
    if (Array.isArray(b_text))
    {
        //var tmpLink = null;
        // create the new set of buttons
        for (i= 0; i < numBtns; i++)
        {
            var a = document.createElement('a');
            var newButton = document.createElement('button');
            var tmpLink = b_link[i];
            newButton.id = b_id;
            newButton.class = b_class;
            newButton.innerHTML = b_text[i];
            newButton.style.background = b_bg;
            
            a.href = tmpLink;
            
            a.appendChild(newButton);
            divID.appendChild(a);
            
            button_array[i] = newButton;
        }
    }
}
函数createSiteButton(numBtns、b_id、b_类、b_文本、b_链接、b_bg)
{
var outputElem=document.getElementById('output');
//检查输入文本是否为数组
if(Array.isArray(b_text))
{
//var tmpLink=null;
//创建一组新的按钮
对于(i=0;i