jQuery in Greasemonkey

Wer kennt das nicht, die täglich besuchte Website deckt im Grunde die Anforderungen ab die man an Sie stellt, aber hin und wieder wär etwas Zusatzkomfort nicht schlecht. Hier kommt Greasemonkey ins Spiel.

Greasemonkey ist eine Erweiterung für den Webbrowser Firefox, dessen Scripte teilweise auch unter Google Chrome, Opera und anderen Browsern mit kleinen Anpassungen, laufen. Mithilfe dieser Erweiterung ist es möglich eigene locale Javascript Datein im Browser ausführen zu lassen, um Erscheinungsbild und Verhalten einer Webseite ohne Eingriff auf die eigentliche Seite anzupassen. Sehr nütlich um z.B. bei einem täglich genutzten Suchfilter die Auswahlparameter automatisch auswählen zu lassen.

Nun gibt es kaum etwas was einen mehr ermüdet als Javascript und CSS in Kombination, vorallem bei den strikt eingehaltenen Standards die es für das Web gibt. Hier kommt jQuery ins Spiel. jQuery ist ein umfangreiches Framework, das unter der MIT oder GPL2 Lizenz frei zur Verfügung gestellt wird.

jQuery zeichnet sich unter anderem durch einfache Selektion und Manipulation des DOM-Baums aus, ist bereits CSS3 fähig und wird als cross-browser kompatibel umworben. Letztere herrausragende Eigenschaft fällt bei der Nutzung von Greasemonkeyscripten normalerweise nicht so ins Gewicht. Wenn jemand allerdings Erfahrungen damit gesammelt hat, wie gut ein Greasemonkeyscript mit jQuery in anderen Browsern funktioniert, möge er sich bitte melden! jQuery offeriert zusätzlich einige Hilfsfunktionen, die neben einem Eventsystem auch diverse Effekte und Animationen bereitstellen, sowie einfache eine Ajaxfunktionalität. Außerdem sind bereits zahlreiche Plugins verfügbar, und sollte der eigene Anwendungsfall noch nicht abgedeckt sein, ist es auch äußerst leicht erweiterbar.

Genug der Werbung, wer nun an jQuery interessiert ist möge doch selbst noch etwas darüber recherchieren. Wer ein anderes JS Framework lieber verwenden möchte kann dies gern tun, an der grundlegenden Vorgehensweise für das benutzen eines solchen Frameworks ändert sich dadurch nichts.

Ich möchte hier noch kurz vorstellen wie man jQuery in einem Greasemonkeyscript nutzt und zeigen was man dabei besonders beachten muss. Außerdem gibts natürlich ein kleines Beispielscript.

Greasemonkey in der aktuellen Version erlaubt das einbinden von externen Bibliotheken über die @require Annotation. Hierbei muss einfach die URL zur jQuery Bibliothek angegeben werden. die @include Annotation beschränkt das Script auf meine Blogseite, sowie alle Unterseiten davon.

//==UserScript==
// @name           Nullpointer Wobbling Logo
// @namespace      nullpointer.at
// @description    Nullpointer Wobbling Logo
// @include        http://nullpointer.at/
// @include        http://nullpointer.at/*
// @require        http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==
jQuery('a#logo').mouseover(function() {
var pos = $(this).css("left");
if (pos == "0px") {
$(this).animate({left: "200px"}, 5000);
} else {
$(this).animate({left: "0px"}, 3000);
}
});

Das Script kann über diesen Link installiert werden: nullpointer_logo.user.js (Achtung Greasemonkey >= 0.8 und Firefox notwendig)

Der aufruf der jQuery Funktionalität ist dannach simpel wie eh und je. Als Kurzeinführung:
jQuery … damit wird die Bibliothek aufgerufen
‚a#logo‘ … damit wird das entsprechende HTML element selektiert, hier alle Links die die Id logo haben.
.mouseover … hier die eventhandling Methode, sollte die Maus über das Logo von nullpointer.at geführt werden, wird die innere Funktion aufgerufen, die das Logo ein wenig verschieben. Bei einem weitern Mouseover erfolgt der nächste Aufruf, und das Logo wird zurückgeschoben.

Achtung! Greasemonkey lädt bei der Installation eines Scripts alle Abhängigkeiten runter, ein Script dass eine @require Bibliothek verlinkt muss diese schon bei der Installation definiert haben. Ein neues Script muss also erstmal per Hand installiert werden, damit die Abhängigkeit richtig aufgelöst wird. Auch eine Änderung eines @require Links würde daher zu Fehlern führen, die die Bibliothek nicht neu geladen wird, dennoch aber die geänderte Version gesucht wird. Das Script muss daher auch in diesem Fall neu installiert werden.

Ebenfalls gibt es derzeit Fehler bei der Nutzung der aktuellen jQuery Version 1.4.2 (weshalb ich hier im Script auch Version 1.3.2 nutze) im Eventhandling. Genaueres dazu kann in diesem Thread nachgelesen werden:
http://forum.jquery.com/topic/importing-jquery-1-4-1-into-greasemonkey-scripts-generates-an-error

Sollte Kompatibilität mit älteren Greasemonkeyversionen notwendig sein, so ist es notwendig die jQuerybibliothek anders zu laden. Auf folgender Webseite dazu eine kleine Einführung:

http://joanpiedra.com/jquery/greasemonkey/

Greasemonkey

http://www.greasespot.net

http://de.wikipedia.org/wiki/Greasemonkey

https://addons.mozilla.org/de/firefox/addon/748/

jQuery

http://jquery.com/

Ähnliche Artikel:

Geek and Poke – Cloud Special

Once again i want to show you some satire on the new trendy modern up-to-date cloud by Geek and Poke -> http://geekandpoke.typepad.com/geekandpoke/

Remember, the cloud isn’t a hype like SOA, it’s more! (GuP) It detach us from old structures (GuP) in a completly different way than SOA (GuP).

The cloud is a revolution, not only in developing (GuP) and bugfixing (GuP). It’s the solution to all of our problems (GuP) that were not fixed by SOA, EAI, and others (GuP). It is not only for geeks (GuP) It helps managers to define the it-strategie (GuP) and it’s not only to distinguish oneself (GuP).

And now i’m back working on my nullpointer cloud … (GuP)

my own cloud

Ähnliche Artikel:

Programmiersprachen-Popularität auf TIOBE

Einer der typischen Stereotypen die min vorallem im Umfeld eines Wirtschaftsinformatikers findet sind Java Entwickler, die meinen Java zu können und nur Java. Vielleicht noch etwas HTML und Javascript, wir sind schließlich 2.0!

Wer jedoch seinen Horizont erweitern will, und dazu muss man nicht zwingend aus diesem Umfeld kommen, der scheint vor einer schier endlosen Auswahl zu stehen. Mit welcher Programmiersprache soll man sich auseinandersetzen? Man will schließlich nicht zuviel Zeit in eine Programmiersprache setzen, deren Bedeutung am absteigenden Ast ist. (Es sei denn man will bewusst in diese Niesche treten, Legacysysteme zu pflegen gilt es nachwievor!)

Eine kleine Entscheidungshilfe könnte der TIOBE Programming Community Index sein, der Monatlich unter folgender URL aufrufbar ist:

http://www.tiobe.com/tpci.htm

Zu sehen ist dass die beiden Zugpferde C und Java sich ein heißes Duell liefern. Generell ist die komplette C Rige stark vertreten, doch auch die Scriptsprache PHP scheint nicht so leicht aus den Herzen der Programmierer wegzudenken sein. Immer mehr im Kommen ist Objective-C dass die letzten Monate einen rasanten Zugewinn verzeichnet. Nach anfänglicher Euphorie 2009 hat auch Googles C Alternative Go den Wiedereinstieg in die Top 20 geschafft. (Stand August 2010)

Freilich repräsentiert dieser Index nur die Häufigkeit von Suchanfrage zu den Programmiersprachen bei den Suchriesen Google und Yahoo und sind noch lange kein Indikator dafür, was der Jobmarkt nun tatsächlich bietet. Ein Hype bei einer Programmiersprache bedeutet noch lange nicht dass diese auch kommerziell verwendet wird. Hinzu kommt dass nur englischsprachige Suchbegriffe gewertet werden, so dass man die Ergebnisse nur begrentz auf unseren Wirtschaftsraum umlegen kann.

Sich über das Potential und das Interesse anderer an eben der zukünftigen Programmiersprache im klaren zu sein kann aber durchaus motivationsfördernd sein.

In diesem Sinne

Frohes Schaffen

Ähnliche Artikel:

Geek and Poke – Social Special

A satire on web, i mean, life 2.0 by Geek and Poke -> http://geekandpoke.typepad.com/geekandpoke/

Here are some single strips

And Where Were You, Adam?
http://geekandpoke.typepad.com/geekandpoke/2009/12/and-where-were-you-adam.html

Friending
http://geekandpoke.typepad.com/geekandpoke/2009/12/friending.html

Geosocial Nightmares
http://geekandpoke.typepad.com/geekandpoke/2010/08/geosocial-nightmares.html

We all got hundrets of really good friends
http://geekandpoke.typepad.com/geekandpoke/2009/12/this-was-the-first-decade-part-1.html

Waiting for the toast to come
http://geekandpoke.typepad.com/geekandpoke/2009/12/this-was-the-first-decade-part-5.html

We will get even more social
http://geekandpoke.typepad.com/geekandpoke/2010/01/predictions-for-decade-2-part-1.html

Just tweeted
http://geekandpoke.typepad.com/geekandpoke/2010/01/tweetrets.html

Everything will get social
http://geekandpoke.typepad.com/geekandpoke/2010/01/everything-will-get-social.html

Twitter and the downtimes
http://geekandpoke.typepad.com/geekandpoke/2007/12/twitter-and-the.html

The facebook way
http://geekandpoke.typepad.com/geekandpoke/2007/09/the-facebook-wa.html

The facebook way part2
http://geekandpoke.typepad.com/geekandpoke/2007/11/the-facebook-wa.html

Lovestory
http://geekandpoke.typepad.com/geekandpoke/2008/01/lovestory.html

Goodbye
http://geekandpoke.typepad.com/geekandpoke/2007/11/goodbye.html

and goodbye :)
by the way – i’ve twittert this article …..

Ähnliche Artikel: