Я новичок в развитии расширения хрома.
Проблема заключается не в доступе к chrome://url, я не хочу ничего редактировать там, но проблема заключается в выполнении chrome.tabs.executeScript(), который используется для инъекции скриптов.
Я пытаюсь запустить фоновый скрипт с использованием chrome.tabs.executeScript, но он дает следующие ошибки:
Unchecked runtime.lastError при запуске tabs.executeScript: не удается получить доступ к URL-адресу chrome://
У меня есть следующий код:
манифест
{
"name": "BrowserExtension",
"version": "0.0.1",
"manifest_version": 2,
"description" : "Description ...",
"icons": { "16": "icons/16x16.png", "48": "icons/48x48.png", "128": "icons/128x128.png" },
"background" : {
"scripts": ["background.js"]
},
"permissions": [
"tabs",
"background",
"http://*/*",
"https://*/*"
],
"browser_action": {
"default_icon": {
"19": "icons/19x19.png",
"38": "icons/38x38.png"
},
"default_title": "That the tool tip"
}
}
Background.js
console.log("background.js : click()");
chrome.tabs.executeScript(null, {file: "jquery.min.js"}, function(){
chrome.tabs.executeScript(null, {file: "auto.js"}, function(){
chrome.tabs.executeScript(null, {file: "script.js"}, function(){
//all injected
});
});
});
script.js
$(function()
{
var input = $('input');
$.each(input,function(index,element){
var area = new AutoSuggestControl(element.id);
});
var ta = $('textarea');
$.each(ta,function(index,element){ var area = new AutoSuggestControl(element.id);});
return 1;
});
auto.js является предварительно скомпилированным js файлом, который отлично работает, когда используется один в html файле. Целью расширения является предоставление автозаполнения при записи в текстовое поле. Спасибо за тонну за помощь.