Хорошо, я нашел способ, который работает из документации MDN, и добивается, чтобы каждый документ, открытый пользователем, мог быть доступен для вашего расширения. Доступ к каждому документу, на который фокусируется пользователь, слишком велик, я хочу, чтобы код выполнялся только один раз. Итак, я начинаю с инициализации Exentsion и слушаю DOMcontentloaded Event
window.addEventListener("load", function() { Fabogore.init(); }, false);
var Fabogore = {
init: function() {
var appcontent = document.getElementById("appcontent"); // browser
if(appcontent)
appcontent.addEventListener("DOMContentLoaded", Fabogore.onPageLoad, true);
},
Этот код выполняется каждый раз при загрузке страницы. Теперь важно, чтобы вы выполняли свой код с новой загруженной страницы, а не со старой. Вы можете получить доступ к этому с переменной aEvent:
onPageLoad: function(aEvent)
{
var doc = aEvent.originalTarget;//Document which initiated the event
С помощью переменной "doc" вы можете проверять структуры данных с помощью XPCNativeWrapper и т. Д. Спасибо Владимиру за то, что он направил меня в правильном направлении, я полагаю, если вам нужно более сложное прослушивание событий, выберите его способ с обработчиками прогресса.