Versio

Javascript belet validatie?!?

Overzicht Reageren

Erick Schluter

Erick Schluter

26/12/2009 12:56:00
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<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...
Gewijzigd op 01/01/1970 01:00:00 door Erick Schluter
 
PHP hulp

PHP hulp

25/05/2012 05:21:25
Gesponsorde koppelingen:
 
Joren de Wit
Beheerder

Joren de Wit

26/12/2009 14:03:00
Quote Anchor link
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...
 
Erick Schluter

Erick Schluter

26/12/2009 23:40:00
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<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!
 



Overzicht Reageren

Get Adobe Flash player