Я бы хотел, чтобы пользователь мог ввести строку и добавить ее в массив, который я бы сохранил в localStorage. Затем я хотел бы добавить запись для каждой из этих строк в виде элемента контекстного меню, вызываемого правой кнопкой мыши.
Я могу установить и получить массив строк в порядке, в popup.html есть текстовое поле, которое позволяет вводить данные, и массив отлично отображается на странице popup.html. Они могут щелкнуть ссылку, чтобы удалить строку, если они хотят, чтобы все работало нормально. Моя проблема возникает, когда пришло время создавать элементы подменю. Я представляю решение для цикла, но я не уверен, как chrome.contextMenus.create будет работать. Я с нетерпением жду услышать ваши идеи. Большое спасибо!
// Here is an example of how I currently define a parent and three submenu items:
var parent = chrome.contextMenus.create({ "title": "Comment Replies:", "contexts": contexts });
var child1 = chrome.contextMenus.create({ "title": "One!", "parentId": parent, "id": "I am number 1!", "contexts": contexts, "onclick": childFunction });
var child2 = chrome.contextMenus.create({ "title": "Two!", "parentId": parent, "id": "I am number 2!", "contexts": contexts, "onclick": childFunction });
var child3 = chrome.contextMenus.create({ "title": "Three!", "parentId": parent, "id": "I am number 3!", "contexts": contexts, "onclick": childFunction });
// Here is the onclick function:
function childFunction(info, tab) {
console.log(info, tab);
chrome.tabs.sendMessage(tab.id, { "newValue": info.menuItemId }, handleTheThrownError);
}
Итак, я хотел бы взять мой массив строк и просмотреть их для создания этих пунктов меню. Похоже на что-то вроде этого:
// Get the array from localStorage:
var myStringArray = JSON.parse(localStorage.getItem('theArray'));
// Loop to generate menu items:
for (var i = 0; i < myStringArray.length; i++){
// Get the first word of the string as an idea of something to use
var myWords = myStringArray[i].split(" ");
var myFirstWord = myWords[0];
var <someUniqueValue> = chrome.contextMenus.create({ "title": myFirstWord, "parentId": parent, "id": myStringArray[i], "contexts": contexts, "onclick": childFunction });;
}
Это выполнимо? Заранее спасибо!