Rolf B: Fehlende Endzeile für 31. August 2020

Beitrag lesen

problematische Seite

Hallo Claus,

es ist nicht sinnvoll, die Funktion als String zu übergeben. Das führt zu einem eval(), den kannst Du in "JavaScript - The Good, the Bad and the Ugly" für Eli Wallach casten. Besser ist eine anonyme Funktion:

  var recall = function() { 
   KalenderRefresh(document.getElementById('kalender'));
  };

oder als Pfeilfunktion (was im Internet Explorer nicht geht)

  var recall = () => KalenderRefresh(document.getElementById('kalender'));

wobei ich nicht wirklich verstehe, warum du das Element immer wieder neu ermitteln musst. Eigentlich muss auch das hier funktionieren:

  var recall = function() { KalenderRefresh(tabelle); };
// oder
  var recall = () => KalenderRefresh(tabelle);

Und das kann man noch verkürzen, wenn man die Tatsache nutzt, dass setTimeout mehr als zwei Parameter kennt. Was man ab Pos. 3 übergibt, wird an die Timeout-Funktion übergeben. Damit sollte man auf den recall-Helper ganz verzichten können.

  let RestMilliSeconds = 86400000 - d.getTime() % 86400000;
  setTimeout(KalenderRefresh, RestMilliSeconds, tabelle);

Aber wie gesagt, für's Wiki halte ich das für zu viel. Man müsste dafür auch ein Frickl bereitstellen, und die Wiki-Leser müssen die Nacht durchmachen um den Effekt beobachten zu können…

Rolf

--
sumpsi - posui - obstruxi