Расширение Chrome: эффективный способ отображения кнопок, которые хранят информацию о вкладках во всплывающем окне - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь создать расширение Chrome, которое сохраняет вкладки пользователя в кнопке, которая будет отображаться во всплывающем окне. Может быть несколько кнопок, и каждая кнопка может быть удалена.

В настоящее время я различаю информацию о вкладках каждой кнопки по номеру. Например, первая кнопка будет иметь tabName1, tabUrl1 для хранения имен вкладок и URL-адресов. Вторая кнопка будет иметь tabName2, tabUrl2.

Число соответствует счетчику для кнопок, который служит для доступа к информации о вкладках для каждой кнопки и отображения правильного количества кнопок. Давайте назовем это buttonCount. tabName, tabUrl и buttonCount будут храниться в storage.

Проблема возникает, когда пользователь удаляет кнопку. Например, если есть 3 кнопки и пользователь удаляет вторую кнопку, buttonCount станет 2. Однако тогда я не смогу получить доступ к tabName3 или tabUrl3, поскольку i не достигнет 3.

for (var i = 1; i <= buttonCount; i++)   // i will become 1 and 2
{
    getStorage(i);   // only displays first button since "tabName2" does not exist
}

Я обошел эту проблему, не меняя buttonCount и возвращая, если tabName2 равно null. Однако это приводит к тому, что buttonCount может увеличиваться вечно и пытаться получить доступ к информации о вкладках, которая не существует, что приведет к увеличению времени загрузки всплывающего окна.

Как еще можно хранить информацию о вкладках для каждой кнопки и избежать этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...