Я новичок в написании расширения для Chrome. Я пытаюсь открыть шаблон ejs внутри своего сценария внедренного содержимого, но при создании нового EJS ({}) получаю ошибку ниже в content_script.js.
«Запрещение загрузки chrome-extension: //eadcfllkpeiejpedposonemnmmpnggie/content.html.ejs. Ресурсы должны быть указаны в ключе манифеста web_accessible_resources, чтобы их могли загружать страницы за пределами расширения».
Примечание. Я добавил ресурс в web_accessible_resource
Manifest.json
{
"name" : "test",
"description" : " app",
"version" : "1.0",
"manifest_version" : 2,
"browser_action" :{
"default_icon" : "images/icon.png"
},
"permissions" : ["tabs","notifications","contextMenus","background","http://*/*","https://*/*","<all_urls>"],
"options_page" : "views/options.html",
"icons" : {"16" : "images/icon-16.png"//Icon context menu},
"background" : {
"page" : "views/background.html",
"js" : ["scripts/jquery-1.10.2.min.js"]
},
"web_accessible_resources": ["views/content.html.ejs"]
}
Background.js
'use strict';
document.addEventListener("DOMContentLoaded", function(tab){
chrome.contextMenus.create({
title : "Add as reminder",
id : "rappelSelection",
contexts: ["selection"],
onclick: function(info,tab){addContent(info,tab)}
})
});
function addContent(info, tab){
var details = {};
details.text = info.selectionText;
chrome.tabs.executeScript(tab.id, {
file : "scripts/jquery-1.10.2.min.js"
});
chrome.tabs.executeScript(tab.id, {
file : "scripts/ejs_min.js"
});
chrome.tabs.executeScript(tab.id, {
file : "scripts/content_script.js"
});
chrome.tabs.getSelected(null,function(tab){
chrome.tabs.sendRequest(tab.id, {details: details}, function(response){
console.log(response);
});
});
}
content_script
chrome.extension.onRequest.addListener(function newContent(request, sender, sendResponse){
var template_path = chrome.extension.getURL('content.html.ejs');
var data = {content: request.details.text };
var template = new EJS({url:template_path}).render(data);
$("body").append(template);
sendResponse({contentText: "goodbye"});
});
"views/content.html.ejs"
, в то время как ваш сценарий пытается загрузитьchrome.extension.getURL('content.html.ejs')
без частиviews
. Голосование за закрытие за опечатку. - person Xan   schedule 26.01.2015chrome.tabs.sendMessage
иchrome.runtime.onMessage
. - person Xan   schedule 26.01.2015