Hallo,
Ik ben de laatste tijd nogal aan het oefenen op het xhtml valid maken van webpagina's.
Vandaar dat ik mijn oude gemaakte site's nu xhtml valid aan het maken ben.
Ik ben nu bezig met de site http://game.tomas-smits.nl/ valid te maken ( Aangezien deze niet xhtml valid was ). alleen het wil niet echt lukken.
Hij vind fouten bij het javascript, alleen van javascript snap ik dus helemaal niks..
Iemand enig idee hoe ik dit kan verbeteren?
Hieronder het script:
<script type="text/javascript">
var xcoord = 0;
var ycoord = 0;
function init()
{
if( document.captureEvents && Event.MOUSEMOVE ) {
//remove this part if you do not need Netscape 4 to work
document.captureEvents( Event.MOUSEMOVE );
}
document.onmousemove = alertCoord;
}
function alertCoord(e) {
if( !e ) {
if( window.event ) {
//Internet Explorer
e = window.event;
} else {
//total failure, we have no way of referencing the event
return;
}
}
if( typeof( e.pageX ) == 'number' ) {
//most browsers
xcoord = e.pageX;
ycoord = e.pageY;
} else if( typeof( e.clientX ) == 'number' ) {
//Internet Explorer and older browsers
//other browsers provide this, but follow the pageX/Y branch
xcoord = e.clientX;
ycoord = e.clientY;
var badOldBrowser = ( window.navigator.userAgent.indexOf( 'Opera' ) + 1 ) ||
( window.ScriptEngine && ScriptEngine().indexOf( 'InScript' ) + 1 ) ||
( navigator.vendor == 'KDE' );
if( !badOldBrowser ) {
if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
//IE 4, 5 & 6 (in non-standards compliant mode)
xcoord += document.body.scrollLeft;
ycoord += document.body.scrollTop;
} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
//IE 6 (in standards compliant mode)
xcoord += document.documentElement.scrollLeft;
ycoord += document.documentElement.scrollTop;
}
}
} else {
//total failure, we have no way of obtaining the mouse coordinates
return;
}
}
function toonPlaatje(naam,beeldje) {
laag = document.getElementById(naam);
laag.innerHTML = '<img src=' +beeldje+'>';
laag.style.visibility = "visible";
laag.style.top = ycoord + "px";
laag.style.left = xcoord + "px";
plaatsPlaatje() }
function verbergPlaatje(naam){
laag = document.getElementById(naam);
laag.style.visibility = "hidden"; }
function plaatsPlaatje() {
laag.style.top = ycoord + "px";
laag.style.left = xcoord + "px"; }
</script>
Alvast heel erg bedankt.
- xHTML valid
-
23-02-2009, 11:31 #1
- Berichten
- 277
- Lid sinds
- 15 Jaar
xHTML valid
-
In de schijnwerper
-
23-02-2009, 12:22 #2
- Berichten
- 1.355
- Lid sinds
- 18 Jaar
Zo'n lap javascript kan je beter in een extern bestand zetten.
Maak een bestand aan met de naam: script.js
In dat bestand zet je:
Code:var xcoord = 0; var ycoord = 0; function init() { if( document.captureEvents && Event.MOUSEMOVE ) { //remove this part if you do not need Netscape 4 to work document.captureEvents( Event.MOUSEMOVE ); } document.onmousemove = alertCoord; } function alertCoord(e) { if( !e ) { if( window.event ) { //Internet Explorer e = window.event; } else { //total failure, we have no way of referencing the event return; } } if( typeof( e.pageX ) == 'number' ) { //most browsers xcoord = e.pageX; ycoord = e.pageY; } else if( typeof( e.clientX ) == 'number' ) { //Internet Explorer and older browsers //other browsers provide this, but follow the pageX/Y branch xcoord = e.clientX; ycoord = e.clientY; var badOldBrowser = ( window.navigator.userAgent.indexOf( 'Opera' ) + 1 ) || ( window.ScriptEngine && ScriptEngine().indexOf( 'InScript' ) + 1 ) || ( navigator.vendor == 'KDE' ); if( !badOldBrowser ) { if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) { //IE 4, 5 & 6 (in non-standards compliant mode) xcoord += document.body.scrollLeft; ycoord += document.body.scrollTop; } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) { //IE 6 (in standards compliant mode) xcoord += document.documentElement.scrollLeft; ycoord += document.documentElement.scrollTop; } } } else { //total failure, we have no way of obtaining the mouse coordinates return; } } function toonPlaatje(naam,beeldje) { laag = document.getElementById(naam); laag.innerHTML = '<img src=' +beeldje+'>'; laag.style.visibility = "visible"; laag.style.top = ycoord + "px"; laag.style.left = xcoord + "px"; plaatsPlaatje() } function verbergPlaatje(naam){ laag = document.getElementById(naam); laag.style.visibility = "hidden"; } function plaatsPlaatje() { laag.style.top = ycoord + "px"; laag.style.left = xcoord + "px"; }
<script type="text/javascript" src="script.js"></script>
Maar om even op het probleem terug te komen. Dat de validator
je Javascript doorzoekt klopt niet. Waarschijnlijk is de rede daarvoor
dat je geen browserbeveiliging hebt toegevoegt aan het script.
Lees dit hier eens, dan zal je zien dat er een paar dingen mis is aan de javascript.
Elk javascript moet je beginnen met <!--, en eindigen met //-->.
Je javascript die je nu hebt zou er dus zo uit moeten zien:
Code:<script type="text/javascript"> <!-- var xcoord = 0; var ycoord = 0; function init() { if( document.captureEvents && Event.MOUSEMOVE ) { //remove this part if you do not need Netscape 4 to work document.captureEvents( Event.MOUSEMOVE ); } document.onmousemove = alertCoord; } function alertCoord(e) { if( !e ) { if( window.event ) { //Internet Explorer e = window.event; } else { //total failure, we have no way of referencing the event return; } } if( typeof( e.pageX ) == 'number' ) { //most browsers xcoord = e.pageX; ycoord = e.pageY; } else if( typeof( e.clientX ) == 'number' ) { //Internet Explorer and older browsers //other browsers provide this, but follow the pageX/Y branch xcoord = e.clientX; ycoord = e.clientY; var badOldBrowser = ( window.navigator.userAgent.indexOf( 'Opera' ) + 1 ) || ( window.ScriptEngine && ScriptEngine().indexOf( 'InScript' ) + 1 ) || ( navigator.vendor == 'KDE' ); if( !badOldBrowser ) { if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) { //IE 4, 5 & 6 (in non-standards compliant mode) xcoord += document.body.scrollLeft; ycoord += document.body.scrollTop; } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) { //IE 6 (in standards compliant mode) xcoord += document.documentElement.scrollLeft; ycoord += document.documentElement.scrollTop; } } } else { //total failure, we have no way of obtaining the mouse coordinates return; } } function toonPlaatje(naam,beeldje) { laag = document.getElementById(naam); laag.innerHTML = '<img src=' +beeldje+'>'; laag.style.visibility = "visible"; laag.style.top = ycoord + "px"; laag.style.left = xcoord + "px"; plaatsPlaatje() } function verbergPlaatje(naam){ laag = document.getElementById(naam); laag.style.visibility = "hidden"; } function plaatsPlaatje() { laag.style.top = ycoord + "px"; laag.style.left = xcoord + "px"; } // --> </script>
-
25-02-2009, 20:21 #3
- Berichten
- 277
- Lid sinds
- 15 Jaar
Oké bedankt.
Als ik trouwens deze site door de validator haal:
http://tomas-smits.nl/foto.html krijg ik dit:
Line 63, Column 285: there is no attribute "target".
Line 63, Column 410: there is no attribute "border".
Wat moet ik hieraan veranderen om het valid te krijgen?
-
25-02-2009, 20:24 #4
- Berichten
- 1.355
- Lid sinds
- 18 Jaar
Het "border" probleem kan je oplossen door
width="146" height="210" border="0"
te veranderen in:
style="width:146px;height:210px;border:0px;"
-
25-02-2009, 20:24 #5
- Berichten
- 286
- Lid sinds
- 17 Jaar
Border en target zijn dingen die in de css horen, inline-styling is niet xHTML valid.
Overigens snap ik niet waarom je het plaatje buiten de <a> haalt. ;)
-
25-02-2009, 22:53 #6
- Berichten
- 277
- Lid sinds
- 15 Jaar
oké,
de border is nu opgelost, nu de target nog..
Hoe doe ik dat..?
-
25-02-2009, 23:03 #7
- Berichten
- 1.355
- Lid sinds
- 18 Jaar
Origineel gepost door Tomas Smits
oké,
de border is nu opgelost, nu de target nog..
Hoe doe ik dat..?
je kan het ook oplossen met javascript volgens mij maar dat is niet
aan te raden. (extra laadtijd + rommelig)
zie ook: http://weblogtoolscollection.com/arc...ct-conversion/
-
25-02-2009, 23:13 #8
- Berichten
- 277
- Lid sinds
- 15 Jaar
oké als het goed is zou:
http://tomas-smits.nl/foto.html nu goed moeten werken..
Getest in IE en FF ( xhtml valid nu als het goed is... )
-
25-02-2009, 23:14 #9
- Berichten
- 1.355
- Lid sinds
- 18 Jaar
Helaas de reclameblokjes worden nog niet goed getoont bij mij
in Internet Explorer 7 ;)
edit: ik zie dat het alleen niet goed zit wanneer je het venster resized,
dus normaal gesproken zou het wel goed zitten.
-
28-02-2009, 11:57 #10
- Berichten
- 277
- Lid sinds
- 15 Jaar
hey bedankt,
maar hoe kan ik een youtube filmpje op een site xhtml valid maken?
want als ik dit erop zet is hij niet xhtml valid:
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/AMd4gZ-Fa8g&hl=nl&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/AMd4gZ-Fa8g&hl=nl&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
Toen had ik het zo gedaan: ( Was hij wel valid maar werkte hij niet ):
<object type="application/x-shockwave-flash" width="675" height="600" data="http://www.youtube.com/watch?v=AMd4gZ-Fa8g"><param name="movie" value="http://www.youtube.com/watch?v=AMd4gZ-Fa8g"></param><param name="wmode" value="transparent"></param></object>
heeft iemand enig idee hoe ik het moet aanpassen dat hij xhtml valid is + werkt ?
-
28-02-2009, 12:02 #11
- Berichten
- 1.355
- Lid sinds
- 18 Jaar
http://www.tools4noobs.com/online_tools/youtube_xhtml/
Google is your best friend :)
-
03-03-2009, 15:09 #12
- Berichten
- 277
- Lid sinds
- 15 Jaar
oké dankje, het werkt ;)
en nog ff een vraag, als ik een = in een url heb, hoe maak ik die valid? ( Hetzelfde geld voor id in een url )
ik bedoel dit:
<a href="http://www.SITENAAM.nl/user=1234&id=60" target="_blank">TEKST HIER</a>
als ik de site naam en tekst hier verander, krijg ik dat het dikgedrukte niet valid is.. ( = en id )
Hoe is dit te verhelpen..?
-
03-03-2009, 16:10 #13
- Berichten
- 168
- Lid sinds
- 17 Jaar
& veranderen naar "&" de & is een special character.
http://www.webmonkey.com/reference/Special_Characters
-
03-03-2009, 18:13 #14
- Berichten
- 277
- Lid sinds
- 15 Jaar
Dus in die url moet ik het = teken en de & teken veranderen? en hoe zit het dan met id ?
-
03-03-2009, 18:28 #15
- Berichten
- 10
- Lid sinds
- 19 Jaar
ID hoef je niet te wijzigen. Kan je laten staan zo.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic