Сохранение данных из всплывающего окна расширения Chrome в бэкэнд с ограниченной скоростью - PullRequest
0 голосов
/ 13 декабря 2018

Я создаю расширение Chrome как всплывающее окно.

Расширение состоит из одной текстовой области, которая всегда имеет фокус.Пользователь вводит некоторые данные, и мы хотим, чтобы эти данные были сохранены в Firebase без необходимости явного сохранения пользователем.

В данный момент я периодически сохраняю данные (определяю каждое нажатие клавиши и после 300 мс простоя запускаюсохранить).Но если пользователь закрывает окно до запуска сохранения, я могу пропустить некоторые данные.

Поэтому мне было интересно, есть ли способ обнаружить закрытие всплывающего окна.Я пытался использовать событие window.onunload, но оно не сработало.

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

1 Ответ

0 голосов
/ 13 декабря 2018

вам не нужно использовать service worker

Сделайте это:

  • если у вас нет фонового скрипта, вам нужно добавить один
  • добавить chrome.runtime.onMessage.addListener в фоновый скрипт
  • не запускать опцию save во всплывающем окне.прослушайте событие keyup во всплывающем окне и отправьте событие в фоновый режим с каждым событием keyup.
  • делайте wait 300ms and send data to firebase вещи в фоновом режиме

, если вы не знакомы с chrome.runtime.onMessage и chrome.runtime.sendMessage, вам необходимо прочитать документацию SDK.

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