Fejll!ste
Liste over kendte fejl og mangler

Kronemenuen og mobilmenuen ser uhensigtsmæssig ud i Samsung Internet mobil browseren, hvis man har valgt mørkt tema i Andriod system-indstillinger.

Analog-urene under fanebladet Chronotorium er nærmest ulæslige i Samsung Internet mobil browseren, hvis man har valgt mørkt tema i Andriod system-indstillinger.

Flertalsendelser på Tidsserveren kan vises forkert.

Ekempel:
Process-tid: 1 millisekunder
Bør ændres til:
Procestid: 1 millisekund

Tallene på dotMatrix Rainbow Clock knækker på mobiltelefoner.

Ved overflow returnere Talsystem omregneren "Ugyldigt tal" i stedet for "Overflow".

Løst ✓

Dagen i dag returnerer følgende fejlmeddelelse i konsollen:

An unbalanced tree was written using document.write() causing data from the network to be reparsed. More information: https://developer.mozilla.org/en-US/docs/Glossary/speculative_parsing


Løst ✓

Ved at ændre alle:
document.write("Some text");
Til:
document.getElementById("id").innerText = "Some text";
  • Samtidig er der ryddet grundigt op, i den meget gamle kildekode, hvilket har resulteret i at den nu fylder 16% mindre.

  • Tidsregnemaskinernen tager ikke højde for skift mellem sommer og vintertid.

    Løst ✓ ved at omskrive hele koden fra bunden af.
    Udover at fejlen ved skift til sommertid og vintertid er blevet løst, er følgende forbedringer også opnået:

  • Ca. 50% mindre kode.
  • Instant udregning. Udregningen foregår imens man taster. Derfor er knappen "Vis udregning" ikke længere nødvendig.
  • Skudår medtages i udregningen.
  • Der kan nu regnes med årstal fra før 1970, helt tilbage til år 0.
  • År skrives nu som år. Eksempelvis skrives der 5 år, i stedet for 1825 dage.

  • Skudår tabellen returnerer følgende fejlmeddelelse i konsollen:

    An unbalanced tree was written using document.write() causing data from the network to be reparsed. More information: https://developer.mozilla.org/en-US/docs/Glossary/speculative_parsing


    Løst ✓

    Ved at ændre koden fra JavaScript document.write()
    document.write("<td>" + year + "</td>");
    Til PHP echo
    echo "<td>" . $year . "</td>";

    Ved max udput på Talsystem omregneren ryger resultatet ved omregning til binært ud over sidens kant og ender ude i den blå baggrundsfarve.

    Løst ✓

    I de inputfelter der acceptere et decimalkomma F.eks. Julian date omregneren skal decimalkommaet skrives som et punktum. Det bør ændres, så et komma også accepteres.

    I de inputfelter der kun acceptere tal, F.eks. Unix time omregneren hopper cursoren helt ud til højre, hvis man laver en tastefejl, F.eks. et bogstav.

    New Earth Time (NET) omregner og Swatch Internet Time omregner kan i visse tilfælde vise forkert UTC tid.

    Løst ✓

    Tidsregnemaskinerne Plus og Minus tager ikke højde for skift mellem sommer og vintertid.

    Julian date omregneren korrigere ikke for historisk skift mellem sommertid og normaltid.

    Løst ✓

    Med følgende kode:
    dateWithTimeZone = (timeZone, year, month, day, hour, minute, second) => { let dateInFunction = new Date(Date.UTC(year, month, day, hour, minute, second)); let utcDate = new Date(dateInFunction.toLocaleString('en-US', { timeZone: "UTC" })); let tzDate = new Date(dateInFunction.toLocaleString('en-US', { timeZone: timeZone })); let offset = utcDate.getTime() - tzDate.getTime(); dateInFunction.setTime( dateInFunction.getTime() + offset ); return dateInFunction; };

    Nedtælling til nytår 2024 kan få forside urene til at gå i stå, hvis man trykker på det røde kryds.

    Løst ✓

    Den devise løsning fra D. 22/8 2021 er fjernet, da den forhindre scroll, hvis man åbner Kronemenuen og browseren er mindre end Kronemenuen, som er tilfældet på Android-enheder.

    Fejlen opstår på forsiden den 24. til 26. december på nogle mobile enheder, hvis skærmen roteres, eller browseren ændre størrelse.

    Delvis løst 22/8 2021

    Med følgende CSS kode:
    body { overflow: hidden; }

    Unix time omregneren korrigere ikke for historisk skift mellem sommertid og normaltid.

    Løst ✓

    Med følgende kode:
    dateWithTimeZone = (timeZone, year, month, day, hour, minute, second) => { let dateInFunction = new Date(Date.UTC(year, month, day, hour, minute, second)); let utcDate = new Date(dateInFunction.toLocaleString('en-US', { timeZone: "UTC" })); let tzDate = new Date(dateInFunction.toLocaleString('en-US', { timeZone: timeZone })); let offset = utcDate.getTime() - tzDate.getTime(); dateInFunction.setTime( dateInFunction.getTime() + offset ); return dateInFunction; };

    Hvis man udfylder klokkeslæt-felterne på Tidsregnemaskinerne med ét enkelt cifre, så retuneres klokkeslættet uheldigt.

    Eksempel: klokken 1:2:3
    Bør være: klokken 01:02:03

    Udregningerne er dog stadig korrekte.

    Løst ✓

    Med følgende kode i input-felterne:
    $timer1_set = set_input($_POST['timer1']); $minutter1_set = set_input($_POST['minutter1']); $sekunder1_set = set_input($_POST['sekunder1']); function set_input($value) { if ($value) { $value = sprintf("%02d", $value); } else { $timer1_set = ""; } return $value; }
    Og følgende kode i resultatet:
    $tid1Vis = $day1 . "/" . $month1 . " " . $year1 . " klokken " . sprintf("%02d:%02d:%02d", $timer1, $minutter1, $sekunder1);

    Bortset fra i Firefox, returnere Julian date omregneren en forkert Julian date ved årstallene fra år 0 til år 100 i den nederste omregner.

    Løst ✓

    Med følgende kode:
    $firefox = strpos(strtolower($browserid),"firefox"); ... if ($firefox) { echo "const firefox = true;"; } else { echo "const firefox = false;"; } ... if (isNaN(stampTZ) || (!firefox && (dateFromIndtastYEAR >= 0 && dateFromIndtastYEAR <= 100))) { formattedDateTZ = 'Ugyldigt årstal!';



    Løst første gang 5/12 2022

    Med følgende kode:
    d.setFullYear(dateFromIndtastYEAR);
    
    ...
    
    let yearTZ = dateTZ.getFullYear();
    let yearUTC = dateUTC.slice(12, 17);
    sameYear = yearTZ == yearUTC;
    
    if (!sameYear) {
        var formattedDateTZ = 'Ugyldigt årtal!';
    }
    

    31/10 2023

    Fejlmeddelelsen: "Ugyldigt årstal" kan forekomme på Julian date omregneren, hvis det valgte årstal er forskelligt fra UTC årstal.

    Eksempelvis hvis man vælger den 1/1 2023 og tidszoner fra UTC -11:00 til UTC +00:00

    Løst ✓

    Ved at fjerne følgende kode:
    let yearTZ = dateTZ.getFullYear();
    let yearUTC = dateUTC.slice(12, 17);
    sameYear = yearTZ == yearUTC;
    
    ...
    
    if (isNaN(stampTZ) || !sameYear) {
    

    Formatering af "Forskel med millisekunder" i info-boxen for nørder, på Tidsserveren, giver uønskede resultater.

    Eksempler:
    Fejl-formateret Rettet
    -0.000900 -0.001
    0.0800 0.08
    3.60e+3 3600.516
    -0.00510 -0.005

    Gamle kode:
    let mdiff = diff.toPrecision(3);

    Løst ✓

    Med følgende kode:
    let mdiff = diff.toFixed(3)*1;

    Verdensurene analog og digital kan komme ud af synkronisering i Firefox, hvis man vælger en anden fane (i browseren) og derefter går tilbage til fanen med Verdensurene. Fejlen opstår, så vidt jeg kan se, kun i Firefox og kun engang imellem.

    Update: UTC uret og Lime-uret opdateres uhensigtsmæssigt 9 gange i sekundet.

    Løst ✓ ved at lade ét master-ur styre alle urene.

    Forkert rgb() værdi kan opstå på RGB Color pickeren.

    • Hvis man vælger en farve fra Colors, eller TextColors returneres der altid: rgb(0, 0, 0)
    • Hvis man går fra HSL Color pickeren til RGB Color pickeren returneres der altid: rgb(0, 0, 0)
    • Hvis man indtaster en hex-værdi manuelt kan fejl-værdier opstå i rgb() outputtet.

    Løst ✓

    Tre gange w foran en hvilken som helst kiw.dk adresse, bør fjernes automatisk, for at forhindre Duplicate Content.

    Løst ✓

    Med følgende kode i .htaccess filen:
    RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^ %{REQUEST_SCHEME}://%1%{REQUEST_URI} [R=301,L]

    Analog Decimal og analog Hexadecimal urene ryger ud af centrering, hvis browser højden bliver for lille.

    Løst (19/8 2022) ✓ på PC-versionen.

    De to ure er ikke centreret på mobile enheder, hvis skærmen vender vandret. Løst (4/4 2023) ✓

    Timeskiven på Drejeskive uret hopper et lille hak tilbage hvert minut, når sekunderne skifter fra 59 til 00.

    Løst ✓

    Med følgende kode:
    //hour hour=hour%12; hour = hour + minute/60 + second/3600 + millisecond/3600000; drawDscDial(ctx, skiveRadius, hour, 1); //minute minute = minute + second/60 + millisecond/60000; drawDscDial(ctx, skiveRadius, minute, 2); // second second = second + millisecond/1000; drawDscDial(ctx, skiveRadius, second, 3);

    Urskiven på forsiden kan blive uskarp, hvis urskiven bliver genereret mens browseren er meget lille og browseren derefter gøres stor.

    Fejlen har eksisteret så længe urskiven har kunne ændre størrelse automatisk.

    Løst ✓

    Ved at definere radius, hver gang browseren ændre størrelse.

    Med følgende kode:
    radius = canvas.height / 2; ctx.translate(radius, radius);

    To ure, det ene med setTimeout, det andet med setInterval.

    setTimeout setInterval

    Jeg opdagede at canvas-urene ikke brugte setTimeout, men setInterval.
    Så vidt jeg kan læse mig frem til, så er setInterval mest præcis:

    Klide: https://stackoverflow.com/questions/729921/settimeout-or-setinterval

    setInterval-metoden bør indføres følgende steder:

    AM/PM FAQ
    Løst (16/02 2023) ✓
    Sixteen-segment Text Clock
    Løst (30/12 2021) ✓
    16 segment Color ur på Ged
    Løst (30/12 2021) ✓
    Color fading digital time
    Løst (14/12 2021) ✓
    Loading Clock
    Løst (14/12 2021) ✓
    10011010010
    Løst (14/12 2021) ✓
    Romerdigital
    Løst (14/12 2021) ✓
    World_Clocks
    Løst (18/11 2021) ✓
    Verdensur_valg
    Løst (18/11 2021) ✓
    Tekst_ur
    Løst (01/11 2021) ✓
    Tekst_digital_ur
    Løst (01/11 2021) ✓
    Digital_ur
    Løst (28/10 2021) ✓
    Verdensur_digital
    Løst (26/10 2021) ✓
    Hexadecimal_digital_time
    Løst (02/10 2021) ✓
    UTC FAQ
    Løst (01/10 2021) ✓
    Unix_epoch_time
    Løst (29/09 2021) ✓
    Decimal_digital_time
    Løst (28/09 2021) ✓
    Swatch_Internet_Time_digital
    Løst (25/09 2021) ✓
    Grønt lime ur i toppen
    Løst (23/09 2021) ✓
    UNIX_tids_omregner
    Løst (19/09 2021) ✓
    Swatch Internet Time omregner
    Løst (17/09 2021) ✓
    Hexadecimal_omregner
    Løst (17/09 2021) ✓
    Decimal_time_omregner
    Løst (17/09 2021) ✓
    kiw.dk/?t=digital
    Løst (15/09 2021) ✓
    Swatch_Time Udgået

    Klidekode:

    setTimeout-uret:
    function timeout_clock(){ var clock_time = new Date(); var clock_hours = clock_time.getHours(); var clock_minutes = clock_time.getMinutes(); var clock_seconds = clock_time.getSeconds(); if (clock_minutes < 10){clock_minutes = "0" + clock_minutes;} if (clock_seconds < 10){clock_seconds = "0" + clock_seconds;} var clock_div = document.getElementById('timeout_clock');clock_div.innerHTML = clock_hours + ":" + clock_minutes + ":" + clock_seconds; setTimeout("timeout_clock()", 1000);}timeout_clock();
    setInterval-uret:
    interval_clock(); setInterval(interval_clock, 1000); function interval_clock(){ var clock_time = new Date(); var clock_hours = clock_time.getHours(); var clock_minutes = clock_time.getMinutes(); var clock_seconds = clock_time.getSeconds(); if (clock_minutes < 10){clock_minutes = "0" + clock_minutes;} if (clock_seconds < 10){clock_seconds = "0" + clock_seconds;} var clock_div = document.getElementById('interval_clock');clock_div.innerHTML = clock_hours + ":" + clock_minutes + ":" + clock_seconds; }

    Frøken Klokkens Tidsserver viser altid den nøjagtige tid for den tidszone som browseren er sat til.

    Hvilket betyder at, hvis ens tidszone F.eks. er: UTC+03:00 America/Nuuk vises den nøjagtige tid for tidszonen: America/Nuuk og teksten på Tidsserveren "Den nøjagtige tid, iht. dansk normaltid, er:" er derfor ikke korrekt.

    Løst ✓

    Med følgende kode:
    let dk_time = clock_time.toLocaleString("en-GB", { timeZone: "Europe/Copenhagen" });

    Inputfelterne på Tidsregnemaskinerne har dobbelt value.

    Løst ✓

    Med følgende kode på årstals felterne:
    <?php
    if (isset($_POST['year1'])) {
        $yearValue = $_POST['year1'];
    } else {
        $year = date("Y");
        if ($correct2 == 2) {
            $year++;
        }
        $yearValue = $year;
    }
    ?>
    <input type="text" name="year1" value="<?php echo $yearValue; ?>" ...
    
    value='<?php
     $date = date("Y");
     if ($correct2==2) {$date++;}
     echo $date;
    ?>'
    
    
    Klokkeslæt felterne:
    value="<?php if (isset($_POST['timer1'])) {echo $_POST['timer1'];}?>"
    
    value=""
    

    Pga. Unix time rundes op, er Unix time teoretisk et halvt sekund ude af synkronisering med et almindeligt 24 timers-ur.

    Eksempel:

    Unix time: 1669126001,5
    Rundes op: 1669126002
    

    Hvilket resultere i at der visuelt, kan være et sekunds forskel på Unix time og et 24 timers-ur.

    Løst ✓

    Med følgende kode:
    let unixTime = Math.floor(now.getTime() / 1000);

    01 dage, 01 timer, 01 minutter osv. bør skrives som 1 dag, 1 time, 1 minut osv.

    Tidsregnemaskine Fra og til: 1 dage 1 timer 1 minutter 1 sekunder. Løst ✓

    Tidsregnemaskine Plus, 1 dage 1 timer 1 minutter 1 sekunder. Løst ✓

    Med følgende kode:
    if (overDag==0) {overDag = "";} else {if (overDag==1) {overDag = overDag + ' dag ';} else {overDag = overDag + ' dage '; }} if (overTime==0) {overTime = "";} else {if (overTime ==1) {overTime = overTime + ' time ';} else {overTime = overTime + ' timer '; }} if (overMinut==0) {overMinut = "";} else {if (overMinut ==1) {overMinut = overMinut + ' minut ';} else {overMinut = overMinut + ' minutter '; }} if (overSekund==0) {overSekund = "";} else {if (overSekund ==1) {overSekund = overSekund + ' sekund ';} else {overSekund = overSekund + ' sekunder '; }} $d = $day2; if ($d==0) {$d = "";} else { if ($d==1) {$d = $d. ' dag, ';} else {$d = $d. ' dage, '; } } $h = $timer2; if ($h==0) {$h = "";} else { if ($h==1) {$h = $h. ' time, ';} else {$h = $h. ' timer, '; } } $m = $minutter2; if ($m==0) {$m = "";} else { if ($m==1) {$m = $m. ' minut, ';} else {$m = $m. ' minutter, '; } } $s = $sekunder2; if ($s==0) {$s = "";} else { if ($s==1) {$s = $s. ' sekund. ';} else {$s = $s. ' sekunder. '; } } $textS = " dag"; if ($days != 1) {$textS = $textS . "e";} echo "<br>"; echo 'Det svarer til ' . $days * 1 . $textS; } ... $textS = " time"; if ($hours != 1) {$textS = $textS . "r";} echo "<br>"; echo 'Eller ' . $hours * 1 . $textS; } ... $textS = " minut"; if ($minutes != 1) {$textS = $textS . "ter";} echo "<br>"; echo 'Eller ' . $minutes * 1 . $textS; } ... $textS = " sekund"; if ($seconds != 1) {$textS = $textS . "er";} echo "<br>"; echo 'Eller ' . $seconds * 1 . $textS; }

    Soltabellen, Dagens længde: 1 timer 1 minutter. Løst ✓

    Med følgende kode:
    if ($interval->format('%h')=='1') {$intervalTextH = ' time ';} else {$intervalTextH = ' timer ';} if ($interval->format('%i')=='1') {$intervalTextM = ' minut ';} else {$intervalTextM = ' minutter ';} $intervalText = '%h'. $intervalTextH. '%i' . $intervalTextM; echo $interval->format($intervalText);

    Dagen i dag, Dagen er tiltaget med: 1 minutter. Løst ✓

    Med følgende kode:
    $diff = $intervalC->format('%i'); if ($diff == 1) { $diff = $diff . '</span> minut.'; } else { $diff = $diff . '</span> minutter.'; } if ($testC == '+') { $diff = 'Dagen er tiltaget med <span class="lilleresult">' . $diff; } else { $diff = 'Dagen er aftaget med <span class="lilleresult">' . $diff; }

    Dagen i dag, foranstillet nul på ugenummer. Løst ✓

    Med følgende kode:
    $week = date("w"); $zero = substr($week, 0, 1); if (!$zero) { $week = substr($week, 1, 1); } echo $week;

    Nedtællingerne "01 dage", "01 timer" osv. Løst ✓

    Med følgende kode:
    if (days > 1) { days = '<b>'+days+'</b> dage'; } else if (days == 1) { days = '<b>'+days+'</b> dag'; } else { days = ''; } DisplayStr = DisplayFormat.replace(/%%D%%/g, days); if (hours > 1) { hours = '<b>'+hours+'</b> timer'; } else if (hours == 1) { hours = '<b>'+hours+'</b> time'; } else { hours = ''; } DisplayStr = DisplayStr.replace(/%%H%%/g, hours); if (minutes > 1) { minutes = '<b>'+minutes+'</b> minutter'; } else if (minutes == 1) { minutes = '<b>'+minutes+'</b> minut'; } else { minutes = ''; } DisplayStr = DisplayStr.replace(/%%M%%/g, minutes); if (seconds > 1) { seconds = '<b>'+seconds+'</b> sekunder'; } else if (seconds == 1) { seconds = '<b>'+seconds+'</b> sekund'; } else { seconds = '<b>'+seconds+'</b> sekunder'; } DisplayStr = DisplayStr.replace(/%%S%%/g, seconds);

    Soltabellen, Dagens tiltagelse/aftagelse: 1 minutter Løst ✓

    Med følgende kode:
    $diffAB = $intervalAB->format('%i'); if ($testAB=='+') { $diffText = "Tiltaget med " . $diffAB; if ($diffAB == 1) { $diffText = $diffText . " minut"; } else { $diffText = $diffText . " minutter"; } } else { $diffText = "Aftaget med " . $diffAB; if ($diffAB == 1) { $diffText = $diffText . " minut"; } else { $diffText = $diffText . " minutter"; } }

    Hvis en Zen, eller sub-side er blevet slettet, returnere den ikke en korrekt 404 kode.

    Løst ✓

    Regnemaskinerne Lommeregner og Hexadecimal calculator bruger eval();

    Det anbefales ALDRIG, at bruge eval(), da det kan udgøre en stor sikkerhedsrisiko.
    Derudover er eval() både langsom og hukommelses ineffektiv.

    Citat fra w3schools.com

    Do NOT use eval()

    Executing JavaScript from a string is an BIG security risk.

    With eval(), malicious code can run inside your application without permission.

    With eval(), third-party code can see the scope of your application, which can lead to possible attacks.


    Løst ✓ med følgende kode:

    function regn(fn) { return new Function('return ' + fn)(); } result = regn(calculate).toPrecision(12)*1;

    Når man klikker på Kronemenuen, kan der forekomme en lille forsinkelse før baggrundsgrafiken bliver vist.

    Løst ✓

    Med følgende kode:
    background-image: url('https://kiw.dk/cronofon/images/clock_by_Olgg_bw_cut_m.gif'); background-position: 100px 100px; background-repeat: no-repeat; overflow:hidden;

    Sekunds varigheds-baren på info om sekunder er upræcis, da den køre som en tæller.

    Løst ✓ ved at bruge millisekunder.

    Enkelte tidszoner fra listen over alle tidszoner falder ud af dropdown-menuen på Soltabellen

    Eksempel: (UTC -03:00) America/Araguaina

    Løst ✓

    Datoen skifter ikke automatisk og favicon og Kronemenuen mangler på Zen-siderne.

    Zen eksempel

    Løst ✓

    Hvis man importere en tidszone fra listen over alle tidzoner til Soltabellen og vælger en ny dato, så springer den til Europe/Copenhagen.

    Løst ✓

    New Earth Time omregner flimmere i Safari browser på iPhone.

    Løst ✓ ved at undlade små sekundtal på New Earth Time uret, på iPhones.

    Med følgende kode:
    if ($iphone) { $netsek = "\" + sek.toString().padStart(2, '0') + \"''\""; } else { $netsek = "<span style='font-size: .55em; vertical-align: top; line-height: 1.5;'>\" + sek.toString().padStart(2, '0') + \"''</Span>\""; }

    iPad skriver NaN ved nogle af JavaScript beregningerne på Tidsregnemaskine Plus

    Løst ✓

    Med følgende kode:
    var tim1 = document.getElementById("HEST1h").value if (tim1=="") {tim1 = 0;} //Ny kode var min1 = document.getElementById("HEST1m").value if (min1=="") {min1 = 0;} //Ny kode var sek1 = document.getElementById("HEST1s").value if (sek1=="") {sek1 = 0;} //Ny kode

    Det optræder en rød </td> i kildekoden på Analog Hexadecimal ur Løst ✓, Analog Decimal ur Løst ✓ og Analog Swatch Internet Time Løst ✓

    Fra den 1/1 til den 6/4 vises antal år kiw.dk har været online forkert nederst på Om Frøken Klokken siden.

    Løst ✓

    Med følgende kode:
    $yr = date("Y"); $yrago = $yr - 2009; $timestmp = date("Y-m-d"); $unxstmp = strtotime($timestmp); $brthday = $yr . "-04-06"; $unxbrthstmp = strtotime($brthday); if ($unxstmp < $unxbrthstmp) { $yrago = $yrago - 1; } echo $yrago;

    Infobox kollapser og der opstår en hvid kant i højre side, hvis browser størrelsen bliver for lille. Løst ✓
    Infoboxene kollapser også på mobile enheder, hvis skærmen vender vandret. Løst ✓

    Side-menuen forsvinder, hvis man klikker på et hviken som helst link under Info, undtaget det to øverste.
    Det har resulteret i at 7 sider har dobbelt adresse (Duplicate Content). De skal alle sættes til fejlkode 301

    Løst ✓

    Dato-felterne på:
    Valgfri nedtælling Løst ✓
    Tidsregnemaskine - Plus Løst ✓
    Tidsregnemaskine - Til og fra Løst ✓
    UNIX tids omregneren Løst ✓
    kan vise for mange dage, i nogle måneder.

    Løst ✓

    Med følgende kode:
    var month1 = document.getElementById("HESTmonth1").value; var year1 = document.getElementById("HESTyear1").value; var g = getDaysInMonth(month1, year1); //28 29 30 31 var x = document.getElementById("HESTday1"); while (x.length > g) { x.remove(x.length-1); } var y = document.getElementById("HESTday1"); while (g > y.length) { var option = document.createElement("option"); option.text = (y.length+1); y.add(option); }

    Dato-felterne på:
    Valgfri nedtælling Løst ✓
    UNIX tids omregneren Løst ✓
    Tidsregnemaskine - Til og fra Løst ✓
    Tidsregnemaskine - Plus Løst ✓
    nulstilles til 01/01, hvis man skriver et bogstav, eller for mange tal i årstal-feltet.

    Løst ✓ med følgende kode:

    På input årtal felterne:
    pattern="^19[7-9]\d|[2-9]\d{3}$"

    Duplicate Content bør ikke retunere 404, men 301

    Løst ✓ med følgende kode:

    Eksempel:
    if ($size && $side == "Stopur") { header("Location: https://kiw.dk/cronofon/index.php?fan=useful&side=Stopur",TRUE,301); exit; }

    Der er ikke defineret noget favicon på side 404

    Citat:

    Another problem is that if the page does not provide a favicon, and a separate custom 404-page exists, extra traffic and longer loading times will be generated on every page view.

    Løst ✓ med følgende kode:

    <link rel="icon" type="image/x-icon" href="https://kiw.dk/images/kiwicon.ico">

    Catch all subdomains bliver ikke håndteret korrekt og resulterer i fejlresultater på Google

    Løst ✓ ved at:

    Returnere side 404, med korrekt 404 status, uden at ændre URL'en.

    Med følgende kode:

    $tjecksub = $_SERVER["HTTP_HOST"]; $subdome = explode(".", $tjecksub); $cntsub = count($subdome); if ($cntsub > 2) { if ($subdome[0] != "www" || $cntsub > 3) { $logid = "404 - " . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; header("HTTP/1.0 404 Not Found"); include($_SERVER["DOCUMENT_ROOT"] . "/404.php"); exit; } }

    Color picker bør kun kunne arbejde med upper case.

    Delvis løst med følgende kode:

    style="text-transform: uppercase;"

    Update 19/11 2021

    Hvis man klikker på knappen ved siden af input-feltet og vælger en farve der indeholder bogstaver, så er der store bogstaver i input-feltet, men hvis man klipper farvekoden ud, fra input-feltet of sætter den ind et andet sted, så er det små bogstaver.

    Løst ✓ med følgende kode:

    document.getElementById("myTextFra").value = colorInput.value.toUpperCase(); //HER TILFØJES .toUpperCase() // Crome tilføjelse begynd var colorInput = document.getElementById('myColor'); colorInput.addEventListener('input', () => { aktivValg = "ColorValg"; document.getElementById("myTextFra").value = colorInput.value.toUpperCase(); //HER TILFØJES .toUpperCase() }); // Crome tilføjelse slut

    Tidsregnemaskinerne regner forkert jf. unix omregner, hvis årstallet er højere end 9999.

    Hvis der skrives 10000 i årstallet, så giver det følgende fejlmeddelelse:

    Warning: DateTime::diff() expects parameter 1 to be DateTimeInterface, bool given in /var/www/kiw.dk/public_html/cronofon/files/Time_calculator.php on line 372

    Fatal error: Uncaught Error: Call to a member function format() on bool in /var/www/kiw.dk/public_html/cronofon/files/Time_calculator.php:373 Stack trace: #0 /var/www/kiw.dk/public_html/cronofon/plugins/Time_calculator_head.php(14): include() #1 /var/www/kiw.dk/public_html/cronofon/index.php(173): include('/var/www/kiw.dk...') #2 {main} thrown in /var/www/kiw.dk/public_html/cronofon/files/Time_calculator.php on line 373


    PHP Kodelinjerne fra modulet:
    LINJE 372 $interval = $datetime1->diff($datetime2); // LINJE 373 echo $interval->format('Er der %r %a dage %h timer %i minutter %s sekunder');</p>

    Løst ✓ med følgende kode:

    <input type='text' name='year1' <?php if (isset($_POST['year1'])) {echo 'value="'.$_POST['year1'].'"';}?>
     id='HESTyear1' size="4" maxLength="4"
    
     title="Årstal skal være i intervallet 1970 - 9999" pattern="^19[7-9]\d|[2-9]\d{3}$" required
    
       value='<?php
        //date_default_timezone_set('UTC');
        $date = date("Y");
        if ($correct2==2) {$date++;} //Rettelse
        echo $date;
       ?>' 
     onkeypress="return /[0-9]/i.test(event.key)"
     oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength); myFunction();">
    
    

    Baggrundsgrafikken på mobilversionen af Frøken Klokkens Tidsserver vises ikke, efter at sommertid er ophørt.

    Løst ✓

    Det drejer sig om Dagen i dag teksten "Dagen er aftaget / tiltaget med Y minutter", den skal være mere præcis
    i de 2 måneder hvor der er Sommersolhverv eller Vintersolhverv, dvs. månederne 06 eller 12.

    Juni 2021: Her er man nødt til at OGSÅ sammenligne med sekunderne, da en del af dagenes længde er 17 timer 32 minutter
    og den 21. juni 2021 vinder med 17 timer 32 minutter 21 sekunder.

    Dette kunne ændres på Dagen i dag hele måneden og vil f.eks. vise dette:
    Den 20. "Dagen er tiltaget med 0 minutter 9 sekunder"
    Den 21. "Dagen er tiltaget med 0 minutter 1 sekunder"
    Den 22. "Dagen er aftaget med 0 minutter 6 sekunder"

    Derfor var der en fejl i juni 2021 måned, da den viste aftaget på en forkert dato dvs. før den 21.

    Løst ✓

    █████████ extract($_REQUEST) bør ændres til $_GET["variabel"] og $_POST["variabel"] Løst ✓
    ██████████████████ må kun kunne vise filer fra sin egen mappe. Løst ✓

    Den censureret tekst er kendt af web administratorerne.

    Alle links i Solhverv og jævndøgn tabellen bør opdateres til det nye mellemrums-format i den Valgfrie nedtællingen.

    Løst ✓

    Kildekoden til Dagenidag.php bliver ikke vist

    Løst ✓

    Der er to timers forskel på nedtællerne, selvom der kun er én times forskel på TargetDate.

    TargetDate = "10/31/2021 02:00 AM"
    TargetDate = "10/31/2021 03:00 AM"

    Delvis løst med:

    TargetDate = "10/31/2021 02:59 AM"

    Og følgende FAQ-tekst:

    På grund af skift mellem sommertid og normaltid, kan det se ud som om, at en nedtælling går én time forkert.
    Det er fordi urene vil ændre sig på grund af sommertid, før nedtællingen slutter.

    Én time for lang?

    Hvis din nedtælling ser ud til at være en time for lang, er det fordi sommertid slutter ét sted, mellem start og slut på din nedtælling. 1 time gentages, når uret stilles tilbage, og den time lægges derfor til nedtællingen.

    Én time for kort?

    Hvis nedtællingen virker en time for kort, er det fordi sommertid starter ét sted, mellem start og slut på din nedtælling. 1 time springes over, når uret stilles frem, og den time trækkes fra nedtællingen.

    Data filen, som bl.a. finder sidste søndag i marts og oktober, bør kun inkluderes på de sider hvor det er nødvendigt og kun i de måneder hvor den skal bruges.
    Lige nu kører data filen på alle sider.

    Løst ✓

    Tekstfarven på Dagen i dag skifter ikke automatisk ved solopgang og solnedgang.

    Løst ✓

    Nedtælleren kontrollerer ikke om tiden passer på sekundet lige nu. Den sættes i gang som en tæller med -1 og kontrollerer aldrig mere.

    Jeg lod kiw nedtælleren køre i lang tid og den kommer lige så langsomt foran lime uret.
    Ca. hvert 5 minut vinder den 1 sekund i forhold til lime uret.

    De første 5 minutter er det 1 sekund "bagefter"
    De næste 5 minutter er det ok
    De næste 5 minutter er det 1 sekund foran
    De næste 5 minutter er det 2 sekunder foran
    osv.

    Løst ✓ med følgende kode:

    CountBack(); timeinterval = setInterval(CountBack, 1000); function CountBack() { total = Date.parse(TargetDate) - Date.parse(new Date()); seconds = Math.floor((total / 1000) % 60); if (seconds < 10){seconds = "0" + seconds;} minutes = Math.floor((total / 1000 / 60) % 60); if (minutes < 10){minutes = "0" + minutes;} hours = Math.floor((total / (1000 * 60 * 60)) % 24); if (hours < 10){hours = "0" + hours;} days = Math.floor(total / (1000 * 60 * 60 * 24)); if (days < 10){days = "0" + days;} DisplayStr = DisplayFormat.replace(/%%D%%/g, '<b>'+days+'</b>'); DisplayStr = DisplayStr.replace(/%%H%%/g, '<b>'+hours+'</b>'); DisplayStr = DisplayStr.replace(/%%M%%/g, '<b>'+minutes+'</b>'); DisplayStr = DisplayStr.replace(/%%S%%/g, '<b>'+seconds+'</b>'); if (total <= 0) { document.getElementById("cntdwn").innerHTML = FinishMessage; clearInterval(timeinterval); } else {document.getElementById("cntdwn").innerHTML = DisplayStr;} }

    Mellemrum i det kopieret link fra Valgfri nedtælling, forsvinder hvis man sender det F.eks. i en mail.

    Løst ✓ med følgende kode:

    I opsætningen:
    urldecode();
    Efter opsætningen:
    urlencode();

    Linjeskift i begivenheds-feltet virker ikke i Valgfri nedtælling og skaber problemmer i statistik logfilen.

    Løst ✓ med følgende kode:

    I opsætningen:
    $autobreaks = ""; $lines = explode("\r\n", $txt); $antallines = count($lines); $c = 0; while ($antallines > $c) { if ($lines[$c]) { $autobreaks = $autobreaks . $lines[$c] . "||"; } $c++; } $txt = substr($autobreaks, 0, -4);
    Efter opsætningen:
    $autobreaks = ""; $lines = explode("||", $txt); $antallines = count($lines); $c = 0; while ($antallines > $c) { if ($lines[$c]) { $autobreaks = $autobreaks . $lines[$c] . "<br>"; } $c++; } $outtxt = substr($autobreaks, 0, -4);

    Analog color fading time bliver ikke vist.

    Løst ✓

    Kronemenuen forsvinder ikke når man klikker udenfor menuen.

    Løst ✓ med følgende kode:

    document.addEventListener('mouseup', function(kr) { var container = document.getElementById('krMenu'); if (!container.contains(kr.target)) { container.style.display = 'none'; } });

    Disabled knapperne kan ses igennem Kronemenuen på Stopuret

    Løst ✓ med følgende kode:

    .kronecontent { z-index: 1; }

    Lommeregneren laver små afrundingsfejl, på grund af den måde JavaScript regner med floating point på.

    Eksempel: 0.1 + 0.2 = 0.30000000000000004

    Løst ✓ med følgende kode:

    .toPrecision(12)*1

    Backslash tegnet: \ forsvinder fra den kode man gemmer.

    Løst ✓

    Hvis det er muligt bør Setinterval sættes korrekt for special urene, hvor et sekund ikke svare til setInterval 1000, for at undgå at sekundviseren springer et sekund over, engang imellem.

    Ure der bør undersøges:

    Hexadecimal_time Løst ✓
    Hexadecimal_digital_time Løst ✓
    Hexadecimal_omregner Løst ✓

    Med følgende Setinterval kode:
    setInterval(hexklokken, 255);

    Decimal_time Løst ✓
    Decimal_digital_time Løst ✓
    Decimal_time_omregner Løst ✓

    Med følgende Setinterval kode:
    setInterval(decimalclock, 864);

    Swatch_Internet_Time Løst ✓
    Swatch_Internet_Time_digital Løst ✓
    Swatch Internet Time omregner Løst ✓

    Med følgende Setinterval kode:
    setInterval(swatchclock, 864);

    For mange DIV fundet i Klokken i tekst format og Ofte stillede spørgsmål - Hvad er klokken?

    Klidekode:
    <div id="js_clock_testKLOKKEN_ER" class="tekstur">Klokken er</div> <div id="js_clock_test1" class="tekstur"></div> <div id="js_clock_test2" class="tekstur"></div> <div id="js_clock_test3" class="tekstur"></div> <div id="js_clock_test4" class="tekstur"></div> <div id="js_clock_test5" class="tekstur"></div> <div id="js_clock_test6" class="tekstur"></div>

    Løst ✓

    Rettet til:
    <div class="tekstur">Klokken er</div> <div id="js_clock_test1" class="tekstur"></div> <div id="js_clock_test2" class="tekstur"></div> <div id="js_clock_test3" class="tekstur"></div>

    Efterårsjævndøgns-beskeden bliver ikke vist på forsiden.

    Løst ✓

    Dato-felterne står på 01/01 [2021] i Tidsregnemaskinen og man kan ikke vælge dags dato (den 6.) i hvilken som helst månede.
    Alle datoer har 0 foran, 01, 02, 03, o.s.v. men ikke den 6.
    Fejlen ser ud til kun at være der en time, eller to, efter midnat.

    Løst ✓

    Års-skifte bør rettes i Tidsregnemaskine før 2022

    Løst ✓

    To functions, den ene med setTimeout, den anden med oninput.

    setTimeout oninput

    Ulemper ved setTimeout:
    1.) Functionen køre 10 gange i sekundet, uanset hvad.
    2.) Resultatet kan ikke kopieres.

    Fordele ved oninput:
    1.) Functionen køre kun ved ændringer i feltet.
    2.) Resultatet kan kopieres.

    oninput-metoden bør indføres følgende steder:

    UNIX Epoch tids omregner Løst ✓
    .beats omregner Løst ✓
    Hexadecimal tids omregner Løst ✓
    Decimal tids omregner Løst ✓
    Romertal omregner avanceret Løst ✓
    Romertal omregner Løst ✓
    Talsystem omregner Løst ✓

    Klidekode:

    setTimeout:
    <input type="text" id="myText1" value=""> <div id="demo1"></div> function timeoutFunction() { var output = document.getElementById("myText1").value; document.getElementById("demo1").innerHTML = output; setTimeout("timeoutFunction()", 100);} timeoutFunction();
    oninput:
    <input type="text" id="myText2" oninput="oninputFunction()" value=""> <div id="demo2"></div> function oninputFunction() { var output = document.getElementById("myText2").value; document.getElementById("demo2").innerHTML = output; }

    Apache NetBeans, som jeg koder i, viser en fejl i style koden, så alt bagefter bliver markeret med røde streger. Fejlen er i linjen:

    top: 38px;" (Fejlen gik væk da jeg fjernede Gåsetegnet ")
    Kode:
    .limeur { font-family: Helvetica, Arial, Verdana, Georgia; font-size: 42pt; color: #BBD98F; font-weight: normal; position: absolute; margin-left: 80px; left: 50%; top: 38px;" (Gåsetegnet " skal fjernes) }

    Løst ✓

    Der er to digitale ure oven i hinanden på den mobilvenlige version af side R

    Løst ✓

    Datoen oppe i højre hjørne, på alle sider, opdateres ikke automatisk. Fejlen er 12 år gammel.

    Løst ✓ med følgende kode:

    js_dato(); setInterval(js_dato, 1000); function js_dato(){ var dato_idag = new Date(); var day = dato_idag.getDate(); var month = dato_idag.getMonth() + 1; var year = dato_idag.getFullYear(); var dato_div = document.getElementById('js_dato'); dato_div.innerHTML = "<a href='https://kiw.dk/?t=calendar' class='topmenu'>" + day + "/" + month + " ♥ " + year + "</a>"; }

    Sommer og vintertidsbeskeder bliver ikke vist korrekt, hvis den sidste søndag i marts, eller oktober er den 31.

    Løst ✓ med følgende kode:

    For sommertid:
    if ($month == 3 || ($month == 4 && $day == 1)) if (($day == $ssim && date("G") > 2) || $day == $ssim + 1 || ($month == 4 && $ssim == 31))
    For normaltid:
    if ($month == 10 || ($month == 11 && $day == 1)) if (($day == $ssio && date("G") >= 3) || $day == $ssio + 1 || ($month == 11 && $ssio == 31))

    Automatiske Solhverv og jævndøgns-beskeder forsvinder ikke helt, som de skal.
    Fejlen er remmet ud, men skal rettes før Efterårsjævndøgn den 22/9 - 2021

    Løst ✓

    Mystisk fejl. Det ene Analog Swatch Internet Time ur vises ikke efter det blevet opdateret med den samme kode, som alle de andre canvas-ure.

    Kode:
    drawClock() setInterval(drawClock, 1000);

    Det andet Analog Swatch Internet Time ur vises som det skal.

    Løst ✓

    Drejeskive uret er gået i stå.

    Løst ✓

    Kontrol uret, på Analog procent uret er ikke i 24 timers format, som det skal være.
    Update:
    Det er åbenbart forskelligt fra enhed til enhed.
    På nogle enheder er det i 12 timers format, Eks. 1:25:45 med kolon (:)
    På andre enheder er det i 24 timers format, Eks. 13.25.45 med punktum (.)

    Løst ✓ med følgende kode:

    var time = now.toLocaleTimeString('en-GB');

    Fejl i Digital ur. De forkerte dots dots-off.png blever hentet i starten.

    Rettet ✓ til: dot-off.png