W3 Validator error met html in javascript

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

J L

J L

11/02/2012 22:08:06
Quote Anchor link
*Solved*
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


<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
 
PHP hulp

PHP hulp

28/11/2024 16:07:19
 
- Ariën  -
Beheerder

- Ariën -

11/02/2012 22:14:00
Quote Anchor link
Zowel <font> als </font> verwijden. En <span> of <div>gebruiken, en die opmaken met CSS.
 
J L

J L

11/02/2012 22:17:50
Quote Anchor link
Bij span en div geeft die dezelfde error.

document type does not allow element "span" here
document type does not allow element "div" here
 
Wouter J

Wouter J

11/02/2012 22:39:48
Quote Anchor link
Ik weet niet welke validator je gebruikt, maar hier werkt hij gewoon.

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var someHTML = unescape('%3Cp%3ESome paragraph%3C/p%3E');

Waarbij %3C < voorstelt en %3E >.
 
J L

J L

11/02/2012 22:51:40
Quote Anchor link
Ik gebruik: 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?
Gewijzigd op 11/02/2012 22:55:51 door J L
 
Wouter J

Wouter J

11/02/2012 23:07:44
Quote Anchor link
In de laatste regel van je JavaScript code heb je dit staan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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 <.
 
J L

J L

11/02/2012 23:12:37
Quote Anchor link
Oke, die code erin voegen is gelukt. Maar nu geeft de validator weer dezelfde errors als wanneer ik gewoon font weglaat.

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<p><a href="javascript:location.reload()"title="Reload page">Reload page</a></p>


Ik snap eerlijk gezegd niet waarom dit stuk code die error veroorzaakt.
Gewijzigd op 11/02/2012 23:21:48 door J L
 
Wouter J

Wouter J

11/02/2012 23:15:02
Quote Anchor link
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.
 
- SanThe -

- SanThe -

11/02/2012 23:15:05
Quote Anchor link
J L op 11/02/2012 23:12:37:
Terwijl daar geen fouten inzitten. Heel apart.


Blijkbaar wel.
 
J L

J L

11/02/2012 23:21:36
Quote Anchor link
Zie 2 posts terug voor mijn reactie welke ik net heb geplaatst.

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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.