Игра с созданием расширения Chrome. На данный момент я собрал элемент контекстного меню. Когда щелкнут элемент контекстного меню, он запускает itemClicked()
в фоновом режиме script context_menu.js
:
function itemClicked(info, tab) {
alert("clicked");
}
Предупреждение срабатывает. Я также могу делать такие вещи, как отправка запросов ajax через itemClicked()
Однако я не могу добавить какие-либо элементы на страницу (или манипуляции DOM любого типа). Даже что-то основное, как это не работает:
var d = document.createElement('div');
d.setAttribute("css", "width: 100px; height: 100px; background-color: red; position: fixed; top: 70px; left: 30px; z-index: 99999999999;");
document.body.appendChild(d);
Итак, я попытался добавить тот же код в контент script:
chrome.contextMenus.onClicked.addListener(function(OnClickData info, tabs.Tab tab) {
//code to append the input here
});
Но это все равно не сработает. Что я делаю неправильно?
Как я могу заставить контекстное меню добавить что-то на страницу после нажатия?
Большое спасибо!
Изменить: вот мой manifest.json(удалить ненужные вещи, такие как имя/описание... и т.д.)
{
"permissions": [
"activeTab",
"tabs",
"cookies",
"contextMenus"
],
"background": {
"scripts": ["context_menu.js"]
},
"browser_action": {
"default_icon": "icon16.png",
"default_css": "popup.css",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["vendor/jquery-1.8.2.min.js", "config.js", "content_script.js"]
}
],
"web_accessible_resources": ["popup.html"]
}