gpt4 book ai didi

javascript - 我的 firefox 插件代码正在破坏导航栏

转载 作者:行者123 更新时间:2023-11-30 10:41:58 25 4
gpt4 key购买 nike

我想在我的插件中的 firefox 搜索容器之前添加一个工具栏按钮。但它完全清除了我的导航栏。 enter image description here我怀疑有问题的代码是由于空数组或其他原因引起的,但我不能确定。

//insert before search container
if(navBar && navBar.currentSet.indexOf("mybutton-id")== -1 )//navBar exist and our button doesnt
{
var arrayCurrentSet= navBar.currentSet.split(',');
var arrayFinalSet= [];//empty at first
if(arrayCurrentSet.indexOf("search-container") != -1)//if search-container exists in current set
{
// check item by item in current set
var i= null;
while(i=arrayCurrentSet.shift() != undefined)
{
if(i == "search-container")//"search-container" found !!
{
/*insert our button after it but only if our button does not already exist*/
if(arrayFinalSet.indexOf("mybutton-id") == -1) arrayFinalSet.push("mybutton-id");
}
arrayFinalSet.push(i);
dump("arrayFinalSet "+ i);
}
}
else //damn search-container doesnt exist
{
arrayFinalSet= arrayCurrentSet;
arrayFinalSet.push("mybutton-id");//add our button to the end of whatever is available in nav bar
}
//set new navBar
navBar.currentSet= arrayFinalSet.join(',');
}

完整代码可用

https://builder.addons.mozilla.org/addon/1052494/latest/

http://jsfiddle.net/CQ4wA/

最佳答案

我不太清楚为什么导航栏被删除了,但我认为从不同的 Angular 来处理这个问题会更好。与其乱搞字符串数组,不如尝试使用 DOM 方法。

例如

var sC=navBar.querySelector("#search-container");
navBar.insertBefore(btn, sC);

关于javascript - 我的 firefox 插件代码正在破坏导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10573298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com