Neues Greasmonkey Script mit Instant Search 17

[gone] Marvin Hagemeister
16.05.2011
Greasemonkey ist eine Erweiterung für den Firefox, mit dem man eigenen Javascript-Code in bestimmte Webseiten einschleusen kann, um zusätzliche Funktionen zuzufügen.

Damit dieses Script funktioniert muss Greasemonkey installiert sein ;)

Ich bin zwar noch nicht lange hier, aber schon zu Anfang hat mich immer gestört, dass es recht umständlich ist zu suchen. Da ich mich auch viel mit Web-Design beschäftige, habe ich mich einfach mal selbst drangesetzt und ein Script dafür geschrieben.

Das Script kann man unter folgendem Link downloaden: Link entfernt.

Funktionen:

Hauptsächlich fügt das Script eine "Admin-Bar" am oberen Rand der MK hinzu, welches folgende Funktionen beherbergt:

- Suchfeld, das schon beim tippen sucht (instant search). Ähnlich wie bei Google/Facebook. Leider ist es nicht ganz so schnell, wie es sein könnte, da man nach der Suchanfrage bei der MK erst einmal eine "leere" Seite mit der Such-ID erhält, womit man dann endlich zu den Suchergebnissen kommt (warum auch immer...).

- Menü mit den wichtigsten Links.
- Layout wird zentriert.
- Alle Schriften mit einem Mausklick vergrößern/verkleinern.

Das Script ist "offiziell" im Beta-Stadium, da es noch nicht in einer breiten Masse getestet wurde, aber ich habe hier bei mir in den letzten Stunden keine Probleme mehr gefunden.

Viel Spaß!

P.S.: Es ist ein eigenständiges Script, nicht das von pixelspalter.
Original von Marvin Hagemeister
- Suchfeld, das schon beim tippen sucht (instant search).

Ist das mit Hendrik geklärt? Dürfte ziemliche Serverlast verursachen?
[gone] Marvin Hagemeister
16.05.2011
Natürlich entsteht eine Serverlast wenn man bei der MK sucht (auch so, ohne dieses Script). Ich mein, irgendwie muss man ja den Server kontaktieren ;)

> if ($was!=($passt=1)) {$was = $passt;}

Ich weiß nicht, worauf Du hinaus willst, denn so funktioniert das Script nicht;)

Es füllt lediglich die Felder auf http://www.model-kartei.de/suchen.html aus, also die ganz normale Suche. Danach kriegste ja einen Link zu den Suchergebnissen, das Script folgt diesem Link und zeigt letztendlich die Ergebnisse an.

Praktisch eine ganz normale Suche, wie man sie auch ohne dieses Script machen würde. Nur hiermit läuft das ganze automatisch im Hintergrund ab.
Original von Marvin Hagemeister
Natürlich entsteht eine Serverlast wenn man bei der MK sucht (auch so, ohne dieses Script).

Aber nicht so viel. Wenn ich so einen Buchstaben eingebe, geht die Suche schon los. Normal wird nur EINE Suche durchgeführt, wenn ich was suchen will. Nämlich dann, wenn ich alle Daten eingegeben habe...

Original von Marvin Hagemeister
> if ($was!=($passt=1)) {$was = $passt;}

Auf nix. Das ist nur meine Signatur ;)
16.05.2011
Original von Marvin Hagemeister
> if ($was!=($passt=1)) {$was = $passt;}

Warum sollte das nicht funktionieren? Der Code ist völlig korrekt. Welchen Sinn er in funktionaler Hinsicht macht, kann man nur in größerem Zusammenhang sehen... oder man interpretiert ihn sinngemäß, was dann auf "Was nicht passt, wird passend gemacht" hinausläuft. Ich find's cool.

Gruß, Jörg
[gone] Marvin Hagemeister
16.05.2011
Haha, aso ;) Das habe ich übersehen, dass das Deine Signatur ist.

Die Suche beginnt erst, wenn man drei Buchstaben eingegeben hat. Aber Du hast schon recht, insgesamt, wenn man einen Namen eintippt, werden mehrere Suchanfragen gesendet. Das ist ja die ganze Idee hinter dem Konzept ;)

EDIT: @ bareBEAUTY: Natürlich würde der Code funktionieren, aber ich sehe da keinen Zusammenhang zu dem Script von mir...
Ich werde jetzt keinen Blick in den Code werfen, aber wenn Du jedesmal die normale MK-Suche im Hintergrund anwirfst und die zurückgelieferten HTML-Seiten auswertet, ist das schon einiges, was an Server-Last verursacht wird.
[gone] Marvin Hagemeister
16.05.2011
@Enno Kiel:
Gibts denn eine schönere API für die MK, die man benutzen kann?
Jetzt hab ich das mal kurz ausprobiert.

Die Admin-Bar ist eine coole Idee!

Allerdings: Die Suche ist wirklich heikel, da sie bei jedem Tastendruck sofort mit der Suche loslegt. Da ist keine Verzögerung drin. Außerdem verursacht das bloße Navigieren mit den Pfeiltasten ebenfalls jedesmal eine neue Suchanfrage.

Eine spezielle API wird dir - wenn überhaupt - nur Hendrik zur Verfügung stellen können.
16.05.2011
Es ist schön wen solche Sachen gebaut werden.
Mehr Sinn würde es machen, wenn man vorher jemanden kontaktieren würde.

Du führst ein POST durch, lädst die nächste Seite, strippst allen unnützen Code und baust das Ergebnis auf dein Dings um?
Echt jetzt?
Unterhalten wir uns erstmal über eine spontane Mini-Api ... dann sehen wir weiter.


LG Hendrik
[gone] Marvin Hagemeister
16.05.2011
Oh stimmt, das eine bloße Änderung der Cursor-Position eine neue Suche startet ist mir nicht aufgefallen. Habe gerade die neue Version hochgeladen. Das neue Script befindet sich unter dem gleichen Download-Link wie im ersten Beitrag.

Ich werde den Hendrick mal kontaktieren.
16.05.2011
Ah gerade erst gesehen :)
Schön zu sehen, daß sich hier noch jemand mit Greasemonkey beschäftigt

Wenn Du willst können wir unsere Anstrengungen gerne kombinieren. Nachdem ich ziemlich viele kleine Erweiterungen für hier geschrieben habe, hatte ich sie vor längerer Zeit schon mal in eine Plugin-Architektur überführt. Darin lassen sich recht einfach eigene Erweiterungen einstricken die dann sogar mit dem bisherigen Greasemonkey-Script von mir kompatibel sind.
Damit hat man dann automatisch schon einen Konfigurationsdialog zur Verfügung und kann es ein/ausschalten

Wenn Du Dir mein Script mal anschaust, dann siehst Du wie das Ganze aufgebaut ist :)
16.05.2011
die idee mit der bildvorschau in der suche find ich ganz gut, aber sonst hab ich ehrlich gesagt noch nichts gefunden, was ich nicht auch relativ einfach auf konventionelle weise erreichen könnte. ich hab doch die optionen der admin-bar auch im menü zur verfügung. besonders wenig sinnvoll finde ich, dass ich die symbole für pn und kn jetzt direkt über den vorhandenen noch einmal vorfinde... :)
[gone] Marvin Hagemeister
16.05.2011
@Pixelspalter:
Dein Script habe ich mir schon mehrmals angeschaut ;) Ich hatte auch erst pberlegt das ganze mit OOP-Praktiken zu programmieren, aber da man am Ende eh nur ein einziges Objekt hat, habe ich es sein gelassen.

Noch macht die admin-bar noch nicht viel und hat noch nicht allzu viele Funktionen, aber ich bin mir sicher, dass wir uns zusammen tun können, wenn es soweit ist. Die Suche ist, wie einige bereits hier bemängelt haben auch nicht ganz so schnell wie sie sein könnte. Ich warte zur Zeit noch die Antwort von Hendrik ab.

@Henning Zachow:
Natürlich ist ein doppeltes PN-Icon nicht allzu sinnvoll. Ursprünglich hatte ich vor die komplette Seite mehr oder weniger vom Layout umzubauen. Natürlich kann man die Funktionen der Model-Kartei auch so nutzen ;) Nur mir war das Link-Gewusel auf der rechten Seite zu unübersichtlich. Das war die ursprüngliche Motivation.

Bisher ist das Script eher als Konzept zu verstehen ;)
[gone] Marvin Hagemeister
17.05.2011
Wie ich sehe wurde der Link zu dem Script entfernt. Ich bin gerade im Gespräch mit Hendrik über eine bessere Lösung. Bis dahin wird das Script erst mal offline bleiben und ggf. später wieder veröffentlicht, wenn alles "behoben" worden ist.
17.05.2011
*bookmark*

Finde das Script von Pixelspalter ober genial. Wenn da bald noch mehr Funktionen per Greasmonkey dazu kommen (per extra Script oder in Kombination).... Super!
[gone] Marvin Hagemeister
21.05.2011
So, die neue Version ist fertig. Habe mir die Kritik vieler Vorredner hier zu Herzen genommen und das Script stark überarbeitet. Die meiste Arbeit hat aber eigentlich Hendrik gemacht. Er hat extra eine json-Schnittstelle geschrieben, welche wesentlich schneller und ressourcensparender ist.

Neue Funktionen (Version 1.0):

Instant Search
- komplett neu geschrieben, nutzt json Schnittstelle von Hendrik (Vielen Dank!!)
- wesentlich schneller (!)
- wartet 300ms bevor es eine Suchanfrage sendet

Link zu Google-Maps neben der PLZ
- Bei den 10 Zeilen Code die dafür notwendig sind konnte ich nicht widerstehen ;)
- Kann man unter "Einstellungen" ausschalten (verhindert Konflikt mit dem Script von pixelspalter)

Layout zentrieren ist jetzt auch eine Option unter "Einstellungen"
- Für diejenigen, die es lieber auf der linken Seite ausgerichtet haben wollen.

Die Einstellungen werden nach dem Klick auf den Speicherbutton direkt umgesetzt, ohne die Seite nochmal neu zu laden. Es wird aber eine Infobox gezeigt, damit man auch sieht, dass sie gespeichert wurden ;)

Download-Link: http://marvinhagemeister.de/public/mhmk/1.0/mhmk.user.js

Viel Spaß!

Topic has been closed