我对chrome扩展开发很新.
问题不在于访问chrome:// url我不想在那里编辑任何内容,但问题在于执行用于注入脚本的chrome.tabs.executeScript().
我正在尝试使用chrome .tabs.executeScript运行后台脚本,但它会出现以下错误:
我有以下代码:
表现
{
"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's the tool tip"
}
}
Run Code Online (Sandbox Code Playgroud)
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
});
});
});
Run Code Online (Sandbox Code Playgroud)
的script.js …
我正在创建一个页面,用户可以在其中添加问题及其解决方案,他可以删除问题,还可以使用 javascript 中的 DOM 动态编辑它。我希望每当用户单击编辑按钮时,出现的文本框就会自动对焦。
这是我页面的 javascript 代码...
var questionText;
var answerText;
var questionArray=[];
var answerArray=[];
var i=0;
var j=10000;
function addProblem(){
var body = document.getElementsByTagName('body')[0];
questionText = document.getElementById('questionId').value;
answerText = document.getElementById('answerId').value;
questionArray.unshift(questionText);
answerArray.unshift(answerText);
var myContainer = document.getElementById('container');
var myDiv = document.createElement("div");
var questionLogo = document.createElement("p");
questionLogo.id = "questionLogo";
var textNode = document.createTextNode("Question:");
var question = document.createElement("p");
question.id = "question";
var questionDetail = document.createTextNode(questionArray[0]);
var deleteButton = document.createElement("button");
deleteButton.innerHTML = "Delete";
deleteButton.id = i;
var editButton = document.createElement("button");
editButton.innerHTML = …Run Code Online (Sandbox Code Playgroud)