2017-01-23 6 views
0

Я разработал расширение Google Chrome, которое позволяет пользователю автоматически входить в систему на любом стороннем веб-сайте, используя учетные данные, хранящиеся на удаленном сервере (клиенты хотят скрыть учетные данные пользователя из их сотрудников, следовательно, это требование).Сохранение данных из всплывающего окна браузера между вызовами всплывающего окна

Расширение имеет popup.html, что позволяет пользователю указать свое имя пользователя и пароль. После входа пользователя в систему выполняется вызов AJAX в веб-API, который возвращает список URL-адресов, к которым пользователь имеет доступ. Страница popup.html затем заменяется на popupLoggedIn.html. Теперь пользователь может щелкнуть по сайту, к которому он/она хочет войти.

Моя проблема заключается в том, что всплывающее окно (с popupLoggedIn.html) не остается открытым. Каждый раз, когда пользователь нажимает на всплывающее окно, выполняется один и тот же вызов AJAX, тем самым создавая ненужную нагрузку на сервер, на котором размещен веб-API, на который выполняется вызов. Есть ли способ предотвратить файл JavaScript (popupLoggedIn.js), связанный с popupLoggedIn.html, от необходимости делать вызов AJAX при каждом щелчке по значку всплывающего окна?

+0

Храните переменную в 'localStorage' или chrome.storage.local при успешном входе в систему и проверьте ее в начале js, чтобы решить, продолжать ли это. – wOxxOm

+0

Эй, спасибо большое! Я чувствую себя глупо, потому что не думаю об этом! –

+0

Возможный дубликат [Полностью потерянный способ сохранения содержимого окна всплывающего окна расширения Chrome] (http://stackoverflow.com/questions/41284528/completely-lost-on-how-to-save-chrome-extension-popup-window- содержание) – Makyen

ответ

0

Использование localStorage для сохранения статуса и проверки его перед выполнением Javascript.

Смежные вопросы