Аддон firefox проверяет базу данных sqlite на событие

Я делаю аддон Firefox, который имеет свою базу данных sqlite mydb.sqlite, Это база данных моих выбранных ссылок, и у меня есть событие загрузки для gBrowser, Теперь я хотел бы написать код, который будет проверять content.document.location о каждом событии загрузки и будет уведомлять меня, если текущая открытая ссылка находится в базе данных или ее нет в базе данных (например, с некоторым значком в строке состояния).

Вы знаете, как это сделать эффективно? Так что это не сильно замедлит Firefox?

благодарю вас

1 ответ

Решение
  1. Убедитесь, что вы слушаете DOMContentLoaded событие, которое срабатывает при каждой загрузке страницы

  2. Вы можете получить URL загруженной страницы из вашего DOMContentLoaded использование обработчика e.target.defaultView.location.href (где e должен быть тем, что вы назвали первым параметром в вашем обратном вызове).

  3. Теперь сравните этот URL с тем, что находится в БД. Подумайте об использовании асинхронного выполнения операторов (только Firefox 3.5 и новее), чтобы избежать ненужной блокировки основного потока.

  4. Этот отличный учебник покажет вам, как обновить строку состояния.

Другие вопросы по тегам