Пытаюсь сделать расширение

У меня есть расширение, в которое я пытаюсь добавить сценарии контента вместе с фоновыми сценариями, но оно просто говорит о недопустимости при попытке временной загрузки.

{

"description": "Creates tasks and calculates application incomplete date",
"manifest_version": 2,
"name": "Task Creator",
"version": "1.31",

"permissions": [
"http://*/*", "tabs", "https://*/*",
],

"icons": {
"48": "icons/page-48.png"
},
"web_accessible_resources": [
"style/popUpStyle.css",
"script/popUpTask.js",

"script/logicTaskFiller.js",
"js/autosize.js",
"style/jquery-ui.css",
"js/jquery-1.12.4.js",
"js/jquery-ui.js"
 ],
"content_scripts":{

  "matches": ["*urlhere.com*"],
  "js": ["comSendForm.js"]

},

"background": {
"scripts": ["background.js"]
},

"browser_action": {
 "default_icon": "icons/page-32.png"
  }

}

Я не совсем уверен, где я ошибаюсь. Он работает сразу после того, как я извлекаю сценарии содержимого, но я делаю несколько вещей с этим расширением, и мне действительно нужно, чтобы сценарии содержимого запускались на определенной странице. Любая помощь приветствуется.

сообщение об ошибке 1477430058898 addons.webextension. ОШИБКА Загрузка расширения 'null': Манифест чтения: Ошибка обработки content_scripts: Ожидаемый массив вместо {"matches":["*://url.com/"],"js":["comSendForm .js"]}


person Branden Ham    schedule 25.10.2016    source источник
comment
Какую точно ошибку вы видите и где? Что, точно, было показано в консоли браузера (Ctrl-Shift-J или Cmd-Shift-J в OSX), когда вы пытались установить расширение?   -  person Makyen♦    schedule 26.10.2016
comment
1477430058898 addons.webextension.‹unknown› ОШИБКА Загрузка расширения 'null': Чтение манифеста: Ошибка обработки content_scripts: Ожидаемый массив вместо {matches:[://*url.com/],js:[ comSendForm.js]}   -  person Branden Ham    schedule 26.10.2016
comment
Ну, первая проблема заключается в том, что ваш JSON manifest.json имеет неверный формат: "http://*/*", "tabs", "https://*/*", не должен иметь окончательного ,.   -  person Makyen♦    schedule 26.10.2016
comment
о, я вижу, где я ошибся. добавлял * к URL-адресу. спасибо за указание на консоль браузера, хотя я просто использовал f12 для отладки и не знал, что есть одна для всего браузера. было очень полезно!   -  person Branden Ham    schedule 26.10.2016


Ответы (1)


Ошибка, которую вы получаете, заключается в том, что ваш manifest.json имеет значение ключа content_scripts в качестве объекта. Значение ключа content_scripts должно быть массив объектов, а не просто объект.

Кроме того, у вас есть следующие проблемы:

  • The line:
    "http://*/*", "tabs", "https://*/*",
    should not have the trailing ,. This is actually reported as the first error, so you may have copied the contents of your manifest.json file inaccurately.
  • Your matches pattern is invalid. You probably wanted something like:
    "matches": ["*://*.urlhere.com/"],

Со всеми этими изменениями ваш manifest.json будет выглядеть так:

{
    "description": "Creates tasks and calculates application incomplete date",
    "manifest_version": 2,
    "name": "Task Creator",
    "version": "1.31",
    "permissions": [
        "http://*/*", "tabs", "https://*/*"
    ],
    "icons": {
        "48": "icons/page-48.png"
    },
   "web_accessible_resources": [
        "style/popUpStyle.css",
        "script/popUpTask.js",
        "script/logicTaskFiller.js",
        "js/autosize.js",
        "style/jquery-ui.css",
        "js/jquery-1.12.4.js",
        "js/jquery-ui.js"
     ],
    "content_scripts": [
        {
            "matches": ["*://*.urlhere.com/"],
            "js": ["comSendForm.js"]
        }
    ],
    "background": {
        "scripts": ["background.js"]
    },
    "browser_action": {
        "default_icon": "icons/page-32.png"
    }
}
person Makyen♦    schedule 25.10.2016