Ik maak gebruik van een klein beetje Javascript om bezoekers de mogelijkheid te bieden een pagina toe te voegen aan hun favorieten/bookmarks.

Dit is het Javascriptje:

<script type="text/javascript">
function bookmarksite(title, url){
if (document.all)
window.external.AddFavorite(url, title);
else if (window.sidebar)
window.sidebar.addPanel(title, url, '')
}
</script>


En in de (X)HTML wordt dit als volgt gebruikt:

<a href="javascript:bookmarksite('Korte omschrijving', 'http://www.voorbeeld.nl/')">Voorbeeld bij uw favorieten?</a>


Dit werkt prima alleen gaat het met het valideren van de (X)HTML niet goed. Dan krijg ik de volgende waarschuwing:

line 99 column 1 - Warning: <a> escaping malformed URI reference

Op deze regel staat de hierboven genoemde ahref

Vreemd is ook dat deze waarschuwing alleen wordt gegeven door HTML-Tidy, zie: http://users.skynet.be/mgueury/mozilla/

Wanneer ik de pagina met de validator van W3C controleer is er geen waarschuwing en wordt de pagina gewoon gevalideerd.

Nu verschijnt er bij iedereen die HTML-Tidy heeft geinstalleerd een 'geel gevaren driehoekje' onderin het browservenster. Dat kan natuurlijk niet! Zeker omdat het W3C de pagina wel als gevalideerd ervaart.

Weet iemand hoe ik dit oplos?

P.S. Ik zie ook zojuist dat de paginas van PHPHulp geen waarschuwing krijgen maar in het geheel niet worden gevalideerd?!? Mischien een tip voor de nieuwe versie van PHPHulp...
Het is netter om geen obtrusive javascript te gebruiken, dus je javascript strickt gescheiden te houden van je HTML.

Dat zou je bijvoorbeeld kunnen doen door die betreffende <a> een id mee te geven en daar vervolgens in JS met behulp van document.getElementById() een event aan te koppelen.

Grote kans dat dan ook de foutmelding in Tidy verdwenen is...
Hey Blanche,

Klinkt allemaal knip & klaar...toch gaat mijn Javascript kennis niet zo ver dat ik nu meteen precies weet wat te doen.

Ik begrijp het 'de betreffende <a> een ID meegeven'...maar hoe ik dan het eerder genoemde scriptje zo aanpas dat ik deze kan gebruiken ontgaat mij in het geheel...

Zou jij mischien een poging willen wagen?

Met dit stukje Javascript:

<script type="text/javascript">
function bookmarksite(title, url){
if (document.all)
window.external.AddFavorite(url, title);
else if (window.sidebar)
window.sidebar.addPanel(title, url, '')
}
</script>


BvD!

Reageren