не получается сделать простейший фуррифокс-плагин

ramsit

Привет, доброфорум.
Пытаюсь сделать простейший плагин firefox. Задача - на каждой вновь открываемой вкладке делать некоторое действие с dom-деревом, или просто вывести alert(123) для начала.
addon-sdk не завелся, поэтому пытаюсь через bootstrap.js
const Cc = Components.classes;
const Ci = Components.interfaces;

var WindowListener = {
onOpenWindow: function(xulWindow) {
// A new window has opened
let domWindow = xulWindow.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindow);

// Wait for it to finish loading
domWindow.addEventListener("load", function listener {
domWindow.removeEventListener("load", listener, false);
domWindow.alert(123)

})},

onCloseWindow: function(xulWindow) {
},

onWindowTitleChange: function(xulWindow, newTitle) {
}
};

function startup(data, reason) {
let wm = Cc["@mozilla.org/appshell/window-mediator;1"].
getService(Ci.nsIWindowMediator);

wm.addListener(WindowListener);
}

Разумеется, не работает. Вопрос - в каком месте у меня ошибка? (кроме днк, это уже не исправить)

serega1604

Пытаюсь сделать простейший плагин firefox. Задача - на каждой вновь открываемой вкладке делать некоторое действие с dom-деревом, или просто вывести alert(123) для начала.
а greasemonkey тебе не подойдет?

ramsit

а greasemonkey тебе не подойдет?
если я правильно понял, то greasemonkey позволяет выполнять на каждой странице внешний скрипт, то да, то что нужно, спасибо. а Socket.IO к нему насколько сложно прикрутить?
Впрочем, если кто-то знает, как это просто сделать напрямую, было бы интересно посмотреть, для самообразования.

serega1604

если я правильно понял, то greasemonkey позволяет выполнять на каждой странице внешний скрипт, то да, то что нужно, спасибо
внешний по отношению с странице, заданный тобой скрипт. Причем работать это теоретически должно не только в ФФ.
Socket.IO к нему насколько сложно прикрутить?
по-идее любые js либы прикручиваются одной строчкой
http://wiki.greasespot.net/Third-Party_Libraries

ramsit

круто, именно то что надо. спасибо!
Оставить комментарий
Имя или ник:
Комментарий: