аддон firefox проверяет базу данных sqlite на событие - PullRequest
1 голос
/ 10 марта 2011

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

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

спасибо

1 Ответ

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

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

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

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

...