Archiv der Kategorie: JavaScript

HEISENBUG MIT MAILTO ANALYSIEREN (NOCH UNGELÖST)

Manchmal versagt bei der Button/Link mit mailto in meinem Browser – sprich: trotz Klicken öffnet sich kein Tunderbird-Email-Fenster. Leider ist dieser Bug nicht reproduzierbar – er tritt sporadisch auf. In der gleichen Session funktioniert der Link, beim nächsten Klick nicht mehr usw.

Ich kann nur einige vage Eindrücke niederschreiben, da der Bug inzwischen gar nicht mehr auftritt (vielleicht weil ich alle Chrome-Plugins inzwischen deaktiviert habe?):

  • Chrome schien stärker betroffen als Firefox (wobei mein Chrome ohnehin gerade spinnt)
  • Komplexe Webanwendungen schienen stärker betroffen, als einfache Seiten
  • Die JavaScript-Variante schien stärker betroffen, als die HTML-Variante

Lösungsansätze beim nächsten Mal:

Gleich schauen, ob die mailtos bei einfachen Webseiten funktionieren (müsste nämlich eigentlich): https://www.w3schools.com/code/tryit.asp?filename=GRNQWVG6AYM1

Plugins vorübergehend deaktivieren

Thunderbird schreibt in seiner Fehlerkonsole (allerdings konnte ich das nur für die erfolgereichen Versuche sehen:

Zeitstempel: 19.06.2021 12:11:21
Fehler: NS_NOINTERFACE: Component returned failure code: 0x80004002 (NS_NOINTERFACE) [wzIQuicktext.addObserver]
Quelldatei: chrome://quicktext/content/quicktext.js
Zeile: 33

Konzepte in JavaScript verstehen

Chaining

Quelle: https://blog.segunolalive.com/posts/understanding-method-chaining-in-javascript/

Module

Es gibt drei Importarten von aus anderen Modulen exportierten Objekten (Quelle):

// der Standard: expliziter Import von Objekten
import { myLogger, Alligator } from 'app.js';

// Import von als export default gekennzeichneten Objekten
import Logger from 'app.js';

// Alle exportierten Objekte importieren:
import * from 'app.js';

Asynchronizität

Event loop, task queue, WebAPI, call stack

What the heck is the event loop anyway? | Philip Roberts | JSConf EU – YouTube