творит расширение, в котором клиент генерирует некоторые данные в расширении и сохраняет его в массиве объектов в localStorage
динамически, как:Как добавить динамическое расширение в контекстное меню в расширении Chrome?
var list = [{},{newly added object}];
localStorage.setItem("data", JSON.stringify(links));
Когда клиент сохраняет некоторые данные, я хочу, чтобы показать недавно добавленный объект в контекстном меню Chrome. Если есть так много объектов в массиве, это трудно для меня, чтобы написать это каждый раз:
chrome.contextMenus.create({
id: "****",
title: "***",
contexts: ["all"]
});
chrome.contextMenus.onClicked.addListener(function(info, tab) {
if (info.menuItemId == "some-id") {
// do something
}
});
Как я могу это сделать? Любое полезное предложение будет оценено по достоинству.
Не очень понятно, о вашем вопросе. Скажем, у вас есть массив объектов, и вы хотите создавать элементы contextmenu для каждого объекта, так же есть ли проблемы с использованием цикла forEach? –
@Hibara Я разместил этот ** chrome.contextMenus.create ** код в фоновом скрипте, но он работает только при загрузке, когда пользователь создает новый объект, тогда фоновый скрипт запускается только после загрузки и я хочу, чтобы он запускался сразу после добавления , – shuboy2014
, то я думаю, вы должны обновить заголовок вопроса, и это кажется немного запутанным. Я попытаюсь отправить ответ на основе моего понимания. –