MyDealz-Enhancer (Userscript)

Fügt MyDealz neue (und alte) Funktionen hinzu.

- Anzeige von Untermenupunkten im Hauptmenu (MyTab, Diverses, Gesuche) (danke an lolnickname)
- Blendet Werbung aus
- stellt die Menupunktauswahl sicher (Hot, Aktuell, Diskutiert)
- bietet Verlinkung auf großes Dealbild (danke an vielleichtmann1)
- Links in Dealbeschreibung werden klickbar (danke an vielleichtmann1)
- ScrollUp-Button mit fixer Position (danke an vielleichtmann1 für die Idee)
- Zitatfunktion mit Reduzierung eines Fullquotes (einstellbare Zitattiefen)
- selbst einstellbare Smileys (auch in Smileybox)
- alte Smileys (automatisch beim schreiben und bei allen anzeigen) [einstellbar]
- Direktlinks zu Kommentaren (Danke an Nico)
- fügt Cyber-Deals (Amazon) als Link im Untermenu hinzu
- Restzeitanzeige auf Cyber-Deals Seite repariert
- Melden und Abgelaufen als Punkte direkt im Deal verfügbar
- PN-Link direkt in Deal an Dealersteller (z.B. für Diverses oder Gesuche sinnvoll)
- PNs über PN-Link mit Thread-Titel als Standardbetreff
- unfertige PNs werden beim Schließen des PN-Fensters gespeichert
- vordefinierbarer Grund für Kommentarbearbeitung
- entfernt unnötigen br-Tag am Ende beim Editieren eines Kommentars
- Direktlinks zu Private Nachrichten und Account im UserMenu (einstellbar)
- Konfigurationsseite zum Einstellen der Werbung, Menubuttons, Kommentierfunktionen und des UserMenus

Hinweis:
Um eine Menuauswahl zu speichern (z.B. Aktuell für Deals), die Maus für drei Sekunden über dem Untermenu (Buttons in der grünen Leiste) halten. Die Beschriftung wird rot. Nun speichert das Script die Auswahl und ersetzt den Button im Hauptmenu durch die eigene Wahl, auch wenn MyDealz selbst die Auswahl mal wieder vergessen sollte.

Getestet in:
Firefox 39.0 + Greasemonkey 3.2 (und neuer)
Chrome 43.0 + Tampermonkey 3.11 (und neuer)

Downloadlink (auch im 1. Kommentar): greasyfork.org/de/…cer

Beste Kommentare

Verfasser

So, in Absprache mit richi2k sind seine Scripte nun in den MyDealz Enhancer eingeflossen mit teilweise leichten Modifikationen.
Die Suche reagiert nun auf Modifikatoren beim Enter-Druck:
Shift+Enter => die in den Einstellungen voreinstellbare Kategorie wird zum suchen verwendet
Strg+Enter => Ist die Suche in der aktuellen Kategorie möglich (z.B. Freebies) wird nur darin gesucht
Alt+Enter => Google-Suche (hier ggf. aufpassen, ob ihr "Popups" von mydealz erlauben müsst, da Enter wohl kein ausreichendes UserEvent wie ein Mausklick darstellt)

Deal Text Preview (Dealtext wird gekürzt eingeklappt und ist dann ausklappbar):
Hier kann die Höhe bestimmt werden, wie groß der eingeklappte Bereich dann ist. Auf 0 setzen deaktiviert das Einklappverhalten komplett.

Quotes einklappen:
ist optional abstellbar in den Einstellungen

User Info:
wie richi2k schrieb, werden die User Informationen mit mehreren Anfragen an den Server abgerufen. Für Leute mit langsamer Leitung ist diese Option ebenfalls abwählbar in den Einstellungen.

Nach dem erfolgreichen Speichern der Enhancer-Einstellungen wird auf die ursprüngliche MyDealz-Seite, von der man kam, zurück geleitet (#mydealz-enhancer wird entfernt).
Es wurde ein Filter eingebaut, dass das Script nur läuft, wenn das aufgerufene Dokument in keinem Frameset steckt - hier gab es zuvor durch die ganzen Hintergrundabfragen der Seiten ein Problem, welches das Script mehrfach geladen hat. Es sollte nun alles etwas schneller laufen.
Die automatische Linkgenerierung im Dealtext sollte nun korrigiert sein, wenn auch recht dreckig. Erstellt mein Script einen Link, wird anschließend geprüft, ob es einen zweiten Link ohne Textinhalt gibt und entfernt den. Damit sollte das Problem, dass hinter einem Link angehangen ist, behoben sein.


Hinweis zum allgemeinen Aufruf der Seiten mit Ankern (Direktlinks zu Kommentaren):
Durch die starken Veränderungen an den Höhen diverser Elemente (speziell Zitatblöcke), verschieben sich die Ankerpunkte nach dem Laden der Seite. Das Script sollte dies auffangen, indem es versucht, nachdem alles fertig geladen ist, wieder zum Anker zu springen. Ich vermute, dass es in seltenen Fällen dazu kommen kann, dass es nicht korrekt greift, konnte es aber bisher nicht erzwingen. Sollte hier also jemand Probleme damit haben, dass beim Verwenden eines Kommentar-Permalinks an die falsche Stelle auf der Seite gesprungen wird, möge man es mir mitteilen, dann überlege ich mir was dazu.

bastiian

Merk


y2hgG2m.jpg

Verfasser

Mokka728vor 32 m

So, ich habe nun auch ungefragt das neue Design. Ich schätze mal, das wurde jetzt systemweit verteilt? Auf jeden Fall scheint sich hier einiges machen zu lassen. Eine unvollständige Liste an Vorschlägen:-Farben ändern (Seitenhintergrund, Dealhintergrund, Kommentarhintergrund)-Header nicht ausblenden, nicht mitlaufen-Werbung ausblenden (Idealo in den Suchergebnissen)-normales Scrollen (dieses "weiche Scrollen" wenn man auf das Mausrad klickt ist schrecklich!)-Tabs einstellen (z.B. Diverses hinzufügen, Gutscheine rausnehmen, je nach Belieben)Vieles davon bin ich vom alten Enhancer gewohnt und würde mich sehr freuen, wenn es für das neue Design auch möglich ist.



Ich versuch, den Enhancer schnellstmöglichst anzupassen, nur ist gerade die aktuelle Woche natürlich bei mir wiederum total ungünstig ich schaue aber, es umzusetzen.

Hab mal noch ein kleines Script geschrieben, da sich ja viele über die Suche beschweren.
Das Script fügt einen Google-"Button" hinzu, sodass man direkt eine Googlesuche darüber ausführen kann.
Das ganze sieht dann folgendermaßen aus:
10941369-q9Z93
Und hier der Link zum Script MyDealz Google Search.

508 Kommentare

Verfasser

wird direkt mal getestet

Schau dir mal den Google Styleguide für JavaScript an
google.github.io/sty…xml


EDIT: Bei mir im Chrome funktioniert es nicht.

Firefox funzt :P

Bis auf den PN Button leider noch keine für mich benötigten Verbesserungen neben dem HUKD Toolkit.
Arbeite doch mal mit lolnickname das NON Ultra Script aus

Verfasser

SeeeD

Schau dir mal den Google Styleguide für JavaScript an http://google.github.io/styleguide/javascriptguide.xml EDIT: Bei mir im Chrome funktioniert es nicht.



Kevkeee92

Firefox funzt :P Bis auf den PN Button leider noch keine für mich benötigten Verbesserungen neben dem HUKD Toolkit. Arbeite doch mal mit lolnickname das NON Ultra Script aus



Soweit ich das sehe, hat lolnickname doch kein Script mehr. Sein HUKD-Toolkit ist ja mit Änderung des Layouts vor einiger Zeit inkompatibel geworden. Was wäre denn wünschenswert?
Gute Frage, worauf ich bei dem Styleguide achten möge.
Muss mir mal irgendwo Chrome raufpacken - in eine Sandbox oder so, um zu sehen, was genau da das Problem ist.
Tampermonkey in Chrome getestet?

BAERnado

Soweit ich das sehe, hat lolnickname doch kein Script mehr. Sein … Soweit ich das sehe, hat lolnickname doch kein Script mehr. Sein HUKD-Toolkit ist ja mit Änderung des Layouts vor einiger Zeit inkompatibel geworden. Was wäre denn wünschenswert? Gute Frage, worauf ich bei dem Styleguide achten möge. Muss mir mal irgendwo Chrome raufpacken - in eine Sandbox oder so, um zu sehen, was genau da das Problem ist. Tampermonkey in Chrome getestet?

Da bist du nicht mehr ganz auf Stand:P
mydealz.de/div…831

SeeeD

Schau dir mal den Google Styleguide für JavaScript an http://google.github.io/styleguide/javascriptguide.xml EDIT: Bei mir im Chrome funktioniert es nicht.

Kevkeee92

Firefox funzt :P Bis auf den PN Button leider noch keine für mich benötigten Verbesserungen neben dem HUKD Toolkit. Arbeite doch mal mit lolnickname das NON Ultra Script aus



Man braucht kein Addon im Chrome um Greasemonkey-Scripte auszuführen. Einfach in die "Erweiterungen" ziehen. Chrome installiert das dann.

Ich habe kurz in das Script geschaut, das Naming der Variablen kam mir falsch vor (var _irgendeineVariable - richtig wäre var irgendeineVariable). Finde das persönlich nicht schlecht wenn man den "Standard" der jeweiligen Sprache nutzt.

Verfasser

SeeeD

Schau dir mal den Google Styleguide für JavaScript an http://google.github.io/styleguide/javascriptguide.xml EDIT: Bei mir im Chrome funktioniert es nicht.



leuchtet mir ein, ich deklariere allerdings Variablen, die nur im Scope der aktuellen Funktion verfügbar sind mit _ um sie nicht versehentlich mit einer übergelagerten Variable kollidieren zu lassen, ich schau nachher mal im Chrome

BAERnado

Soweit ich das sehe, hat lolnickname doch kein Script mehr. Sein HUKD-Toolkit ist ja mit Änderung des Layouts vor einiger Zeit inkompatibel geworden. Was wäre denn wünschenswert? Gute Frage, worauf ich bei dem Styleguide achten möge. Muss mir mal irgendwo Chrome raufpacken - in eine Sandbox oder so, um zu sehen, was genau da das Problem ist. Tampermonkey in Chrome getestet?



Oh, gar nicht mitbekommen, schau ich auch mal rein

Erinnerung

Hey du hast das mit dem PN Link ja hinbekommen, daran bin ich verzweifelt obwohl ich es sehr ähnlich gemacht habe. Die Zitatformatierung habe ich damals glaube so gelöst: Alten Button löschen, neuen Button anlegen, Eventlister mit eigener Funktion drauf fertig. Habe ich aber auch noch nicht wieder eingbaut.

Verfasser

lolnickname

Hey du hast das mit dem PN Link ja hinbekommen, daran bin ich verzweifelt obwohl ich es sehr ähnlich gemacht habe. Die Zitatformatierung habe ich damals glaube so gelöst: Alten Button löschen, neuen Button anlegen, Eventlister mit eigener Funktion drauf fertig. Habe ich aber auch noch nicht wieder eingbaut.


ich weiß, ich habe dein altes Script noch, um ggf. Funktionen übernehmen zu können. Die Schwierigkeit hier ist nun, dass sämtliche Funktionen aktuell anhand von den data-Attributen heraus ausgelöst werden, bzw. vermutlich alle events automatisch abgefangen werden und anhand der Attribute die Aktionen bestimmt werden. Und genau da liegt der Hase im Pfeffer - ich müsste ja den Ajax-Abruf selbst bauen und dann meinen eigenen Code anhängen, da ich sonst nicht zwingend wüsste, wann der Abruf fertig ist. - Ich sehe gerade, der Ajax-Request ist sogar relativ einfach. Versuch ich mal heute Abend oder morgen

Ja die Ajax Requests sind nicht so schwierig. Doof ist nur, dass keine eigenen mehr machen kann. Früher konnte man zB einen Deal im Hintergrund durchblättern. Das brauchte man ja als die Verlinkung im Feed nicht ging. Jetzt wird das vom Server geblockt.

Verfasser

lolnickname

Ja die Ajax Requests sind nicht so schwierig. Doof ist nur, dass keine eigenen mehr machen kann. Früher konnte man zB einen Deal im Hintergrund durchblättern. Das brauchte man ja als die Verlinkung im Feed nicht ging. Jetzt wird das vom Server geblockt.


das wiederum liegt aber eher am DDoS-Schutz, denke ich mal

lolnickname

Ja die Ajax Requests sind nicht so schwierig. Doof ist nur, dass keine eigenen mehr machen kann. Früher konnte man zB einen Deal im Hintergrund durchblättern. Das brauchte man ja als die Verlinkung im Feed nicht ging. Jetzt wird das vom Server geblockt.

Ne man bekommt schon eine Antwort nur war der Stauscode halt nicht 200. Aber das kann man umgehen, ist nur die Frage ob ich dazu Lust habe, mal gucken.

Verfasser

BAERnado

das wiederum liegt aber eher am DDoS-Schutz, denke ich mal


ok, lokal funktioniert maxQuotes bei mir schonmal (maxQuotes = 2)

Verfasser

lolnickname

Ne man bekommt schon eine Antwort nur war der Stauscode halt nicht 200. Aber das kann man umgehen, ist nur die Frage ob ich dazu Lust habe, mal gucken.

Jo, liegt halt nur daran, weil der Server contentType und Accept-Header korrekt erwartet.

BAERnado

das wiederum liegt aber eher am DDoS-Schutz, denke ich mal

Das klingt super.
Den Zoom finde ich interessant. Was mir auch noch eingefallen ist, das Grund Feld beim Edit automatisch zu befüllen. Das blöde dabei ist man müsste das Skript nochmal laufen lassen,wenn das nachgeladen wird. Ist kein Problem, einfach die Änderungen am DOM Überwachen, aber dann müsste man auch sicherstellen, dass das Skript die anderen Funktionen nicht doppelt ausführt bzw so ausführt, dass die Buttons etc dann nicht doppelt sind.

Verfasser

lolnickname

Den Zoom finde ich interessant. Was mir auch noch eingefallen ist, das Grund Feld beim Edit automatisch zu befüllen. Das blöde dabei ist man müsste das Skript nochmal laufen lassen,wenn das nachgeladen wird. Ist kein Problem, einfach die Änderungen am DOM Überwachen, aber dann müsste man auch sicherstellen, dass das Skript die anderen Funktionen nicht doppelt ausführt bzw so ausführt, dass die Buttons etc dann nicht doppelt sind.


Welcher Zoom?
Über einen domObserver hab ich auch schon nachgedacht, hatte ich auch schonmal an anderer Stelle verwendet, ist allerdings recht heftig.
Mir fällt gerade ein, dass man die PN-Geschichte unter Umständen genauso lösen könnte wie das Zitat-Ajax. Vorteil wäre, man wüsste, wann das Formular auftaucht und könnte so dabei seine Betreffszeile nutzen.

Oh da habe ich den Link falsch gesetzt: mydealz.de/div…160

Verfasser

lolnickname

Oh da habe ich den Link falsch gesetzt: http://www.mydealz.de/diverses/deal-bilder-zoom-573160

Stimmt, das ist wirklich genial - leider kam ich heute nicht mehr dazu, noch weiter an meinem Script zu arbeiten, aber da findet sich morgen bestimmt noch Zeit für.

Entwickelt ihr jetzt zusammen ein Skript?
Fände ich super!

Verfasser

doneone

Entwickelt ihr jetzt zusammen ein Skript? Fände ich super!

Ich schau mal - mir schwebt da vor, eine Oberfläche für Einstellungen einzubinden und dann kann man das bestimmt recht gut zusammenfließen lassen, so denn lolnickname mag.

Also ich habe nichts dagegen die Funktionen zu einem Skript zusammen zu fassen. Vieles ist ja schon sehr ähnlich. Da müsste man dann einfach nur eine der beiden Lösungen nehmen. Wenn du sowieso vor hast eine Oberfläche zu erstellen würde ich vorschlagen wir integrieren meine Funktionen bei dir.

Könnt meinen Zoom auch gerne mit reinpasten. Ist aber noch alles andere als responsive, man müsste die Bilder ggf. dynamisch an die Bildschirmgröße anpassen, zur Zeit kann es vorkommen, dass die Bilder höher sind als der Bildschirm.

Verfasser

vielleichtmann1

Könnt meinen Zoom auch gerne mit reinpasten. Ist aber noch alles andere als responsive, man müsste die Bilder ggf. dynamisch an die Bildschirmgröße anpassen, zur Zeit kann es vorkommen, dass die Bilder höher sind als der Bildschirm.


Hab ich jetzt erstmal übernommen wie es war (also im neuen Tab öffnen ... kann man dann noch nachbessern)

vielleichtmann1

Klickbare Links in den Deal-Texten hätte ich auch noch im Angebot.

Gefällt mir auf jeden Fall auch

BAERnado

Hab ich jetzt erstmal übernommen wie es war (also im neuen Tab öffnen ... kann man dann noch nachbessern)



Wohin denn übernommen?

Verfasser

vielleichtmann1

Wohin denn übernommen?


in die aktuelle Version, allerdings ist diese noch im Bau, da ich an der Einstellungsseite arbeite und auch wenn sie auch schon akzeptabel aussieht, muss ich noch ein wenig dran arbeiten.

Verfasser

Werde gleich mal eine aktuelle Version online stellen - habe dabei designtechnisch die Avatar-Umrandung vom HUKD-Toolkit übernommen.

Verfasser

Aktualisiert (neuer Downloadlink, nun bei Greasyfork)

BAERnado

Aktualisiert (neuer Downloadlink, nun bei Greasyfork)



Ersetz mal das Deal-Link-Pattern am besten durch

/([^\";]https?:\/\/[^ ]+?)(\n|\|\s)/g


Gab mit dem alten Pattern Probleme bei Deals von MyDealz selbst, da darin ja schon Links eingebettet werden können. Das neue Pattern ist erstmal ein Fix dafür.

Habe gerade mal versuchsweise SPAM gedrückt.
Ist es so angedacht, dass der Dealtext dann gleich ausgeblendet wird?

Ansonsten eine sehr schöne Sache!
Gefällt mir mit dem Konfigurationsmenü!

Verfasser

doneone

Habe gerade mal versuchsweise SPAM gedrückt. Ist es so angedacht, dass der Dealtext dann gleich ausgeblendet wird? Ansonsten eine sehr schöne Sache! Gefällt mir mit dem Konfigurationsmenü!

Die Spam-Funktion ist direkt übernommen von MyDealz und sollte sich daher genauso verhalten - ist hier eine Abweichung? (Ich verwende Spam so gut wie nie)

Verfasser

/([^\";]https?:\/\/[^ ]+?)(\n|\|\s)/g

/([^\";]https?:\/\/[^ ]+?)(\n|\\|\s)/g


Scheint mir verkehrt. Müsste es nicht so sein?

bzw. was soll das Zeichen in der Mitte darstellen? evtl sogar nur (\n|\s) ?

/([^\";]https?:\/\/[^ ]+?)(\n|\|\s)/g



Wird hier in den Kommentaren scheinbar nicht korrekt dargestellt, daher hier nochmal.
7343618-tMpcV

Verfasser

vielleichtmann1

Wird hier in den Kommentaren scheinbar nicht korrekt dargestellt, daher hier nochmal.

Ach geht nur um die Zeichen vor dem http, dass es nicht auf " oder ; beginnt. alles klar.

vielleichtmann1

Wird hier in den Kommentaren scheinbar nicht korrekt dargestellt, daher hier nochmal.


Richtig, da das Pattern sonst auch auf die MyDealz-Links zutreffen würde.

Für das rumtesten von Regex Pattern: regexpal.com/
Die neue Version ist super! Mit den Einstellungen ist das echt genial geworden, richtig gute Arbeit, danke.
Vielleicht könntest du im Einstellungstab noch einen Link zu dem Thread hier setzen, für den Fall, dass jemand mal Fragen/Ideen oder ein Problem hat muss er den Thread nicht erst raussuchen.
Mir ist aufgefallen, dass die Meldenbutton nur in der Dealansicht ersetzt werden, ist das Absicht?

Klasse Skript!

edit: kleiner Bug, bei manchen Deals/Kleinanzeigen wird der Dealtext doppelt dargestellt. Ein Schema, wann oder wo das genau auftritt, konnte ich noch nicht erkennen. Beispielsweise
mydealz.de/kle…441
7347584-aI3yu

Verfasser

lolnickname

Für das rumtesten von Regex Pattern: http://regexpal.com/ Die neue Version ist super! Mit den Einstellungen ist das echt genial geworden, richtig gute Arbeit, danke. Vielleicht könntest du im Einstellungstab noch einen Link zu dem Thread hier setzen, für den Fall, dass jemand mal Fragen/Ideen oder ein Problem hat muss er den Thread nicht erst raussuchen. Mir ist aufgefallen, dass die Meldenbutton nur in der Dealansicht ersetzt werden, ist das Absicht?

Da man den Inhalt eines Deals eigentlich erst wirklich erkennt, wenn man die Beschreibung komplett gelesen hat, hab ichs bisher nur im Thread eingebaut, kann es aber natürlich gern überall hin bringen.
Die Idee mit der Verlinkung im Einstellungsbereich finde ich gut Setze ich so um bei der nächsten Version.

Michalala

Klasse Skript! edit: kleiner Bug, bei manchen Deals/Kleinanzeigen wird der Dealtext doppelt dargestellt. Ein Schema, wann oder wo das genau auftritt, konnte ich noch nicht erkennen. Beispielsweise http://www.mydealz.de/kleinanzeigen/-574441

Danke für das Beispiel, schau ich mir heute mal an.

Dein Kommentar
Avatar
@
    Text
    Top Diskussionen
    1. [oepfi / steam] Game-Keys werden verschenkt ;)1521647
    2. Quake Champions CB Key34
    3. Bankkonto für Freizeitmannschaft1417
    4. Erfahrung mit Spiegelreflexkameras1421

    Weitere Diskussionen