Überlaufende Texte finden

Eine bessere Übersetzung Umschreibung für text-overflow ist mir nicht eingefallen 🙃

In jQuery ginge das so:

Cross-post; basiert auf den Antworten hier. Bonus: In Selenium geht das so:

bäm.

Selenium: Touchgesten simulieren

Wer mit Selenium Touchgesten simulieren will (hier: Pull-to-Refresh 🙂), der benötigt zuerst mal einen Browser, der Touch unterstützt:

Der Rest ist dann einfach:

(wenn man davon absieht, dass der vierte Parameter laut Sourcecode 0, 1 oder 2 sein sollte, nicht 200 – getestet mit selenium-java 3.9.1)

Javascript: “Pull to refresh”

Pull-to-refresh in (mobilen!) Webseiten nachzubauen, ist jetzt keine Raketenwissenschaft, aber doch so viel Aufwand, dass sich ggf. eine Library lohnt. Viele (? einige? apeatling, ember-gestures, …) bauen aber auf hammer auf, und das hat einen Bug (Beispiel, es gibt weitere Tickets) im Zusammenspiel von Panning (also dem “Pull” in “Pull-to-refresh”) und Scrolling. Zusammengefasst: Es geht nur eines von beiden. Mit ein wenig Drumherumgehacke bekommt man das etwas näher zusammengeführt, aber entweder kommt PanEnd dann gar nicht (was das “refresh” schwierig macht), oder bspw. die PanMove-Events kommen nicht zuverlässig (wodurch man den “pull” nicht 1:1 an den Finger des Nutzers hängen kann).

Ein npm-Modul, das nicht auf hammer aufbaut, wäre pulltorefreshjs (getestet mit 0.1.11 und 0.1.13):

In Ember sieht das als Komponente so aus:

Auf dem Handy sollte das so schon funktionieren. Auf dem Desktop hatte ich das Phänomen, dass Hochcrollen immer erst beim zweiten mal funktioniert hat (und auch dann nur, wenn zwischen Versuch 1 und 2 nicht zu viel Zeit lag). Weil: Die Lib immer beim Hochscrollen den Loader anzeigt, wenn man die Funktion shouldPullToRefresh nicht vom default !window.scrollY ummapt, bspw. auf

Hochscrollen geht sonst nur, so lange der Loader angezeigt wird 🙃

Neues Fenster in Web Apps

Anwendungsfall: Eine Bedienungsanleitung in Form eines PDFs in einem neuen Fenster/Tab öffnen. Internet sagt (hier am Beispiel Ember):

Das funktioniert grundsätzlich auch in Fullscreen Web Apps, aber da solche Apps keine Browsernavigation anzeigen, kommt man ggf. „nie wieder“ aus der geöffneten Seite raus. Abhilfe schafft

, was anleitung.pdf im „richtigen“ Browser anzeigt, statt innerhalb der App.

Synology NAS “schläft” nicht zuverlässig

Problem: Mein Synology DS213j wacht ständig auf, Ursache unklar. Infrage kämen aus meiner Sicht:

  • DS photo. Nutze ich für automatische Backups meiner Fotos aufs NAS. Allerdings habe ich den entsprechenden Task mal deaktiviert, ohne Erfolg
  • Meine FRITZ!Box 6490 Cable, über die das NAS im Internet und LAN ist
  • der DynDNS-Dienst auf dem NAS
  • irgendein anderer Systemdienst/Task/Cron Job/… im DSM
  • irgendein anderer Netzwerk-Client

Lösung allerdings: Statische v4 IP und IPv6 deaktivieren 🙂 (via):

… > IPv4 > Manuelle Konfiguration verwenden > …

und:

Systemsteuerung > Netzwerk > Netzwerk-Schnittstelle > LAN > bearbeiten > IPv6 > IPv6-Setup: Aus

UPDATE: Funktioniert nur begrenzt; es wurde besser, aber nicht gut.

UPDATE; Danke, Thomas: Deaktivieren der Backup-Lösungen (“Acronis True Image”, kenn’ ich nicht; evt. auch iCloud) kann Wunder wirken

AdBlock: Block inline scripts

Es gibt diese fantastischen Seiten, die einen im wenige-Sekunden-Takt mit JS-Alerts beglücken:

Wenn man das schuldige Skript kennt (auf unübersichtlichen Seiten so zu finden), dann kann uBlock Origin das sogar dann blocken, wenn es ein inline Skript ist:

HTH

PS, Fun Fact am Rande: Obiger Alert kam sogar für Edge 😄

Java: application.properties ohne Spring

Wer, bsplw. aus Analogiegründen, seine Konfiguration in eine application.properties aus lagern will, selbst wenn dieses projekt kein Spring-Projekt ist, der kann Apache Commons Configuration verwenden (via, Achtung, erfordert commons-beanutils):

mit: