#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