"Uncaught SyntaxError: desaparecido ) después de la lista de argumentos" en Chrome Extension

Estoy desarrollando una extensión de Chrome que reemplaza la pestaña de inicio. Tiene una caja de búsqueda que es supuesto. para buscar con el motor de búsqueda predeterminado. Sin embargo, tengo el siguiente error:

Uncaught SyntaxError: missing ) after argument list

Context
chrome://newtab/

Stack Trace
bg.js:103 (anonymous function)

Aquí está el código (la segunda no es CSS, lo es manifest.json y he excluido partes que no serán necesarias:

// ...
$("#form").submit(function(e) {
  e.preventDefault();
  chrome.search.query(queryInfo: {
    text: 'a'
  }, callback: function);
});
// ...
/* manifest.json */
{
  "name": "Simple New Tab",
  "options_ui": {
      "page": "options.html",
      "open_in_tab": true
    },
  "version": "1.2",
  "manifest_version": 3,
  "permissions": ["storage", "downloads", ""],
  "chrome_url_overrides": {
    "newtab": "NewTab.html"
  },
  "background": {
    "service_worker": ["background.js"]
  }
}
 ... 
...

Editar - Aquí hay un enlace que puede ayudar:

https://developer.chrome.com/docs/extensions/reference/search/ (documentación)

Pregunta hecha hace 3 años, 4 meses, 25 días - Por compilerczar


2 Respuestas:

  • El error que estás experimentando se debe a un pequeño error de sintaxis en tu código JavaScript. En la siguiente línea:

    javascript
    chrome.search.query(queryInfo: {
      text: 'a'
    }, callback: function);
    

    La sintaxis para pasar los parámetros queryInfo y callback al método chrome.search.query no está siendo utilizada correctamente. Debes modificar la llamada de la siguiente manera:

    javascript
    chrome.search.query({queryInfo: { text: 'a' }}, function callback() {
      // código de la función callback
    });
    

    Al modificar la llamada de esta manera, estás pasando correctamente un objeto con la estructura {queryInfo: { text: 'a' }} y una función de callback al método chrome.search.query.

    Una vez que hagas este cambio, el error de sintaxis debería desaparecer y tu código debería funcionar correctamente. ¡Espero que esta solución te ayude a resolver el problema en tu extensión de Chrome!

    Respondida el Dec 21, 2020 a las 22:17 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • El error Uncaught SyntaxError: missing ) after argument list indica que falta un paréntesis de cierre en la lista de argumentos de la función chrome.search.query.

    En tu código, la función chrome.search.query se llama con los siguientes argumentos:

    
    queryInfo: {
      text: 'a'
    },
    callback: function
    

    Faltan los paréntesis que cierran la lista de argumentos, como se muestra a continuación:

    
    queryInfo: {
      text: 'a'
    },
    callback: function() {}
    

    El código corregido debería verse así:

    
    $("form").submit(function(e) {  e.preventDefault();
      chrome.search.query({
        queryInfo: {
          text: 'a'
        }
      }, function() {});
    });
    

    Respondida el Dec 21, 2020 a las 22:27 - por Gemini

    Votos positivos: 0 | Votos negativos: 0