W3 Validator error met html in javascript
Ben al een tijd op zoek naar de oplossing van dit probleem, maar het lukt me maar niet om deze error weg te krijgen. Als ik <font> in het begin zet dan zegt W3: document type does not allow element "font" here. Als ik </font> weghaal krijg ik meerdere errors die nergens op slaan. Iemand een idee hoe ik dit kan oplossen?
// Error
Quote:
Validation Output: 1 Error
Error Line 63, Column 92: end tag for element "font" which is not open
Error Line 63, Column 92: end tag for element "font" which is not open
<script type="text/javascript">
beforeload = (new Date()).getTime();
function pageloadingtime()
{
afterload = (new Date()).getTime();
seconds = (afterload-beforeload)/1000;
document.getElementById("loadingtime").innerHTML = "<font>Page load: " + seconds + " sec(s)</font>";
}
window.onload = pageloadingtime;
Gewijzigd op 11/02/2012 23:29:59 door J L
Zowel <font> als </font> verwijden. En <span> of <div>gebruiken, en die opmaken met CSS.
document type does not allow element "span" here
document type does not allow element "div" here
Het enige probleem wat ik kan bedenken is dat de validator geen HTML tags in het script element wilt zien. Hij wil graag dat deze geescaped worden:
Waarbij %3C < voorstelt en %3E >.
http://validator.w3.org
Je uitleg zegt mij, om eerlijk te zijn, vrij weinig.
Heb de regel in het script gezet, maar dat lost het niet op.
Moet ik die regel in het script zetten en zo ja waar precies?
Ik gebruik: Je uitleg zegt mij, om eerlijk te zijn, vrij weinig.
Heb de regel in het script gezet, maar dat lost het niet op.
Moet ik die regel in het script zetten en zo ja waar precies?
Gewijzigd op 11/02/2012 22:55:51 door J L
Code (php)
1
document.getElementById("loadingtime").innerHTML = "<font>Page load: " + seconds + " sec(s)</font>";
Nu moet je alle < op deze regel vervangen met %3C en alle > die op deze regel staat door %3E.
Vervolgens zet je na de = op deze regel unescape( en zet je voor de ; op deze regel (laatste teken) een ).
Wat je nu gedaan hebt is alle HTML tags die in JS staan omgezet naar een bepaalde code. Met de functie unescape decode je de %3C en %3E weer terug naar > en <.
Ik heb nu enigszins de oorzaak gevonden. Als ik een klein stukje code weghaal dan werkt alles prima en geeft de validator aan dat er geen fouten zijn.
Het stukje code wat ik weghaal:
Ik snap eerlijk gezegd niet waarom dit stuk code die error veroorzaakt.
Gewijzigd op 11/02/2012 23:21:48 door J L
Kun je misschien de site online zetten? Of wat code posten op site's als snippler.com of plaatscode.be en een linkje schrijven. Iets zegt me dat je een andere HTML voor de script tag vergeten bent af te sluiten.
J L op 11/02/2012 23:12:37:
Terwijl daar geen fouten inzitten. Heel apart.
Blijkbaar wel.
Toevoeging op 11/02/2012 23:26:39:
Ik heb de oplossing gevonden. Stomme fout. Zat de hele tijd een stuk moeilijker te zoeken. Het werd allemaal veroorzaakt door een missende spatie tussen href="javascript:location.reload() en title="Reload page".
Bedankt voor de hulp in ieder geval.