У моего расширения Chrome есть Content-Script, который вводит пользовательский DIV на текущую страницу. Эта часть работает.Background.js Не находит контент с текстом контента
Но при этом расширение также имеет контекстное меню с контекстным контекстом, которое при щелчке должно каким-то образом изменить этот введенный DIV (скажем, добавить текст в этот DIV). Проблема заключается в том, что введенный контент не найден. Обработчик контекстного меню находится в Background.js, и этот файл ничего не знает о содержимом.
manifest.js
"content_scripts": [
{
"matches": [
"http://*/*",
"https://*/*"
],
"css": ["contentstyle.css"],
"js": ["jquery-1.11.2.min.js", "contentscript.js"],
"background": {
"persistent": true,
"scripts": ["background.js"]
},
contentscript.js
// Add Custom DIV - works OK
var div = document.createElement('div');
div.id = 'infoDiv';
document.body.appendChild(div);
document.getElementById('infoDiv').innerHTML = 'TEST';
background.js
// Add menu - gets added, but can't see Injected Content from here
chrome.contextMenus.create({
"title": "My Right-Click Menu",
"contexts": ["image"],
"onclick" : changeDiv
});
function changeDiv(e)
{
var divHTML = document.getElementById('infoDiv').innerHTML;
alert('Current HTML in DIV: ' + divHTML);
}
Я не могу чтобы получить divHTML из фонового скрипта, есть какая-то ошибка и нет окна предупреждения. Может ли быть связь между Фон и Контентом? Я вынужден реализовать меню в фоновом скрипте, верно?