GOOGLE ADS

viernes, 22 de abril de 2022

¿Cómo devolver el resultado de la función anidada en JavaScript cuando se usa addListener?

Bueno. Así que soy muy, muy nuevo en JavaScript (como en: apenas conocía nada antes, y recién comencé a aprender hoy para poder trabajar en este proyecto). Tengo un conocimiento bastante bueno de Java, pero eso no es muy útil con los aspectos más funcionales de JS.

Actualmente estoy trabajando en algunas secuencias de comandos para una extensión de Firefox, específicamente la parte del menú contextual. Estoy tratando de hacer una función anónima (creo que así se llama; corríjame si me equivoco), de modo que si la pestaña en la que se hizo clic con el botón derecho se encuentra en una matriz en localStorage, entonces esta función devuelve verdadero y establece la variable en verdadero, por lo tanto, hacer que el elemento del menú contextual tenga una marca al lado.

Mi problema proviene de cómo ...onClicked.addListener()devuelve un mensaje

Aquí está la contextMenus.create()llamada:

browser.contextMenus.create({
id: "idPlaceholder",
type: "checkbox",
title: "titlePlaceholder",
contexts: [
"page",
"link",
"tab"
],
checked: checkedState,
}, onCreated);

Y esto es lo que tengo hasta ahora para el niño problemático, quiero decir, la checkedStatedeclaración de la variable:

var checkedState = () => {
if (JSON.parse(localStorage.getItem('tabs')
.includes(browser.contextMenus.onClicked.addListener(function (info, tab) {
//somehow return "info.pageUrl" to.includes() method
})))) {
}
};

Es probable que haya otra forma de hacer esto, simplemente parece que no puedo encontrarla buscando en línea. Entonces, me dirijo a ti, Internet.

Si necesita más información sobre lo que estoy tratando de hacer, hágamelo saber. Traté de no hacerlo demasiado largo.


Solución del problema

Resolví el problema con la ayuda de wOxxOm.

browser.contextMenus.onShown.addListener(function (info, tab) {
if (JSON.parse(localStorage.getItem('tabs')).includes(info.pageUrl)) {
browser.contextMenus.update("idPlaceholder", {
checked: true,
});
}
browser.contextMenus.refresh();
})

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...