Zum Hauptinhalt gehen

Verhalten mit User Scripts beeinflussen (Greasemonkey / Tampermonkey)

Kommentare

8 Kommentare

  • Jakob

    Bei mir noch nicht, aber danke für den Denkanstoß. Ich hatte diese Browser-Extensions aus den Augen verloren und schon mal mit dem Gedanken gespielt eine eigene Extension zu programmieren, um z.B. Voreinstellungen in manchen Eingabemasken anzupassen. Aber da scheinen mir das mit den User Scripts einfacher. Auf Änderungen bei Klassen, IDs usw. der HTML Elemente muss man sich natürlich einstellen.

    1
  • gaudrolf

    Hallo Jakob, 

    falls Du damit herumexperimentieren solltest, wäre es großartig, wenn Du Deine Erfahrungen hier postest. 

    Ich bin darauf gestoßen, weil wir oft Texte aus anderen Anwendungen kopieren, z.B. Artikelbeschreibungen. 
    Leider wird dabei oft kein Plaintext kopiert, sondern oft auch irgendwelche Code-Schnipsel, Formatierungen, Markup o.ä., was dann in xentral zu Fehlern führt oder einfach nur unschön aussieht. Der Umweg über einen Texteditor ist natürlich etwas unkomfortabel und wird im Alltagsgeschäft leider oft einfach vergessen. 

    So weit das bisher beobachten konnte, funktionieren die verfügbaren Browser Add-ons leider nicht ganz geräuschlos. Meine Idealvorstellung wäre eine "paste as plaintext" Funktionalität, die grundsätzlich jeden kopierten Text nur als Plaintext einfügt, wenn man sich auf der Seite "*.xentral.biz" befindet, ohne daß der Anwender das aus erst aus einem Kontextmenü auswählen oder man eine bestimmte Tastenkombination verinnerlichen muß. 

    Wenn ich damit weiterkomme, stelle ich meine Ergebnisse hier gerne auch zur Verfügung. 

     

    Gruß

    0
  • Jakob

    Ich hab mal ausprobiert und eine einfache Validierung für die Bankdaten bei Adressen gemacht:

    https://gist.github.com/schoettl/45698262b96354501ea99fd58d09fe0c

    Funktioniert bei mir in Firefox mit Tampermonkey.

    Dieser Usability Bug ist übrigens schon hier auf der Wunschliste.

    Mit den Scripts könnte man sicher einen Overlay Button in die Ecke eines jeden textarea Elements legen "Paste as plain text". Mit der JS API für Clipboard könnte man dann das Clipboard auslesen und irgendwie zu Plaintext umwandeln und einfügen. Vllt sowas in der Art im Click Handler:

    var plain = jQuery('<div>' + clipboardHtmlContent + '</div>).text();

    jQuery(this).parent().val(plain);

    Aber die Texteingabefelder sind iframes, keine Ahnung ob das da so einfach funktioniert...

    1
  • gaudrolf

    Danke für den Ansatz! 

    Vielleicht kommt man damit einen Schritt weiter. Es würde ja schon mal helfen, wenn man ein xentral-unabhängiges, zuverlässig funktionierendes Browser Add-on hätte, was global alles als Plaintext einfügt. Dann könnte man sich zumindest damit behelfen, wenn man einen Browser nur dafür (und für xentral) nutzt und bei Bedarf einen weiteren für alles andere. 

    Das Overlay Button wäre natürlich optimal.

     

    0
  • Jakob

    Stimmt, das wollte ich eigentlich gestern noch hinzufügen: Ist die Lösung nicht ein Clipboard Manager, den man separat installiert? Oder kann man unter Windows nicht vllt sowieso schon mit Win+V oder so ähnlich "plain-text einfügen"? Oder gibt es vllt ein Browser Add-on, das dem Kontextmenü diese Option hinzufügt?

    Ich bin immer so schnell dabei, selbst was zu programmieren, bevor ich nach anderen Lösungen suche :D

    1
  • gaudrolf

    Prinzipiell wäre das die einfachste Lösung für diesen Fall, nur daß die Clipboard-Manager, die wir bisher in Chrome und Firefox getestet haben entweder nicht ganz zuverlässig funktionieren oder ein aktives Eingreifen erfordern. Im Eifer des Gefechts wird das dann praktisch immer vergessen. Vielleicht könnte man auch einen Fork abspalten, der standardmäßig Plaintext - also ohne zusätzliche User-Interaktion - kopiert und / oder einfügt. 

    Der Shortcut unter Windows ist übrigens win + Umschalt + v. 
    Aber auch das funktioniert wiederum nicht in allen Anwendungen (und die Nutzer müssten wieder daran denken... ;)

    0
  • Jakob

    Übrigens, einen Button (neben dem Speichern Button bei Aufträgen) habe ich in diesem Script hinzugefügt:

    https://gist.github.com/schoettl/c7afdceb315fc9821dbe680c834908e4

    Ist zwar wieder was anderes als ein Overlay Button, aber vllt hilft dir das. Sieht so aus:

    1
  • gaudrolf

    Sehr interessant! Danke!

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.