«Uncaught SyntaxError: отсутствует ) после списка аргументов» в расширении Chrome

#javascript #html #css #google-chrome-extension #syntax-error

#javascript #HTML #css #google-chrome-extension #синтаксическая ошибка

Вопрос:

Я разрабатываю расширение Chrome, которое заменяет вкладку home. В нем есть окно поиска, которое должно выполнять поиск с помощью поисковой системы по умолчанию. Однако я получаю следующую ошибку:

 Uncaught SyntaxError: missing ) after argument list

Context
chrome://newtab/

Stack Trace
bg.js:103 (anonymous function)
 

Вот код (2-й — нет CSS , он есть manifest.json , и я исключил части, которые не понадобятся):

 // ...
$("#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", "<all_urls>"],
  "chrome_url_overrides": {
    "newtab": "NewTab.html"
  },
  "background": {
    "service_worker": ["background.js"]
  }
} 
 <!-- ... -->
<form id="form">
  <input type="text" id="query" placeholder="Search" aria-label="Search">
  <button id="searcher"><svg viewBox="0 0 1024 1024"><path class="path1" d="M848.471 928l-263.059-263.059c-48.941 36.706-110.118 55.059-177.412 55.059-171.294 0-312-140.706-312-312s140.706-312 312-312c171.294 0 312 140.706 312 312 0 67.294-24.471 128.471-55.059 177.412l263.059 263.059-79.529 79.529zM189.623 408.078c0 121.364 97.091 218.455 218.455 218.455s218.455-97.091 218.455-218.455c0-121.364-103.159-218.455-218.455-218.455-121.364 0-218.455 97.091-218.455 218.455z"></path></svg></button>
</form>
<!-- ... --> 

Редактировать — Вот ссылка, которая может помочь:

https://developer.chrome.com/docs/extensions/reference/search / (документация)

Комментарии:

1. Я вижу проблему… синтаксис не буквально chrome.search.query(queryInfo: QueryInfo, callback: function) … это chrome.search.query(queryInfo, callback) … документация сообщает вам, что queryinfo это QuiryInfo объект и callback является function

2. @JaromandaX все еще получает ту же досадную ошибку. Вот измененная строка: chrome.search.query({text: 'a'}, function);

3. Я изменил его на chrome.search.query({'a'}, function); и теперь получаю Uncaught SyntaxError: Unexpected token '}'

4. вы понимаете function , что это заполнитель для реальной функции? и это не {'a'} так … это {text: 'a'} — вы удалили слишком много

5. Теперь он выдает эту ошибку: Uncaught TypeError: Cannot read property 'query' of undefined