Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

154
Vistas
¿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 aviso

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

 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, es decir, la checkedState de la variablecheckedState:

 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.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

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(); })
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda