Jetpack ist das jüngste Baby der Mozilla Labs und bietet eine Art API, die es Entwicklern ermöglicht, den Firefox mit klassischen Web-Techniken (HTML, JavaScript und CSS) zu erweitern. Statt mit XUL kann man seine Firefox Addons demnächst vielleicht wirklich mit HTML und CSS gestalten. Großartige Idee!
Übrigens unterstützt Jetpack, wie auch Ubiquity, die ab der Version 3 in Firefox nativ implementierte Microformats API. Der folgende Code zeigt, wie man die Microformats API in Jetpack-Skripte integrieren kann. Das Beispiel zählt z.B. alle hCards der Seite, auf der man sich gerade befindet und zeigt das Ergebnis per Info-Message an:
Components.utils.import("resource://gre/modules/Microformats.js");
// count hCards
jetpack.tabs.onFocus(function() {
// load HTML
var doc = jetpack.tabs.focused.contentDocument;
// count microformats
var uFcount = Microformats.count('hCard', doc);
// load notifier
jetpack.notifications.show({
title: 'hCards',
body: 'number of hCards on this website: ' + uFcount,
icon: 'http://microformats.org/favicon.ico'
});
});
Code-Sprache: JavaScript (javascript)
Nachtrag:
Unter Windows und Linux scheinen die Messages nicht so ganz zu funktionieren, deshalb gibt’s hier nochmal nen Beispiel wo der Counter in der Statusbar ausgegeben wird:
Components.utils.import("resource://gre/modules/Microformats.js");
jetpack.statusBar.append({
html: '<img src="http://microformats.org/favicon.ico"> hCards: <span id="hcard-count">0</span>',
onReady: function(jetpackWidget) {
function counthCard(){
//load HTML
var doc = jetpack.tabs.focused.contentDocument;
// count microformats
var uFcount = Microformats.count('hCard', doc);
if (uFcount > 0) {
$(jetpackWidget).find('#hcard-count').html(uFcount);
}
}
jetpack.tabs.onFocus(counthCard);
}
});
Code-Sprache: JavaScript (javascript)
Mal schaun ob mir demnächst noch etwas sinnvolleres Einfällt 😉
nice nice, auch wenn dein feature unter linux nicht zu gehn scheint und generell ein wenig oft aufpopt 🙂
So, das sollte auch unter Linux funktionieren: