XHTML 1.0 Doctype probleem [IE6]

Pagina: 1
Acties:

  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
Ik heb een XHTML file, ik ik nog moet modifyen van HTML 4.01 naar XHTML 1.0 Transitional.
Het probleem is dat zodra ik bovenaan [het is een .asp script] de doctype:

HTML:
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


gebruik de pagina opeens helemaal screwed up word weergegeven, ipv dat alles links was uitgelijnd word na toevoeging van de doctype opeens alles CENTER uitgelijnt, terwijl dit niet in de XHTML/HTML code staat. Tevens heb ik een style meegegeven aan de scrollbars (voor IE) maar die style verdwijnt ook direct na toevoeging van de doctype!

Ik las op www.w3schools.com wel dit:

Your pages must have a DOCTYPE declaration if you want them to validate as correct XHTML.

Be aware however, that newer browsers (like Internet Explorer 6) might treat your document differently depending on the <!DOCTYPE> declaration. If the browser reads a document with a DOCTYPE, it might treat the document as "correct". Malformed XHTML might fall over and display differently than without a DOCTYPE.


Waarom gebeurd dit en hoe kan ik dit voorkomen? :?

  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

Waar kunnen we de betreffende pagina vinden?

  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
creative8500 schreef op 18 januari 2004 @ 21:32:
Waar kunnen we de betreffende pagina vinden?
Niet helaas want hij staat op een intranet... sorry..

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Heb je er wel <?xml version="1.0" encoding="ISO-8859-1"?> boven staan? Lijkt me alleen sterk dat het hier door komt maar goed. Ik heb zelf alleen nog nooit problemen gehad met het veranderen van de doctype.

Noushka's Magnificent Dream | Unity


  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

Urk: Niet helaas want hij staat op een intranet... sorry..
Dan bekijk je de source, plak je die in een leeg HTML-bestand en zet je deze op internet. :)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:43

crisp

Devver

Pixelated

gebruik de validator en zorg ervoor dat je eerst alles wat niet valideerd gefixed hebt.
o.a. je scrollbar-kleurtjes kan je idd wel vergeten in XHTML strict, want dat zijn IE-only toevoegingen die dus niet tot de standaard behoren. Als IE strict rendert zal hij die ook netjes negeren.

Let wel dat alleen IE6 een strict-mode kent, IE5.5 en lager blijven in quircksmode renderen

Intentionally left blank


  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
Michali schreef op 18 januari 2004 @ 21:35:
Heb je er wel <?xml version="1.0" encoding="ISO-8859-1"?> boven staan? Lijkt me alleen sterk dat het hier door komt maar goed. Ik heb zelf alleen nog nooit problemen gehad met het veranderen van de doctype.
Hmm...dat was inderdaad het probleem, TNX! het vreemde alleen is dat hierover niks word gezegd in de XHTML tutorial op www.w3schools.com
In ieder geval bedankt, het werkte ook om de doctype tag na de <html> tag te zetten, maarja dan werkt de hele validatie niet....

Misschien nog een stomme vraag hoor maar je hebt 3 XHTML doctypes
strict
transitional
frameset

gebruik ik de frameset doctype alleen bij de FRAMESET pagina en de transitional doctype bij alle overige pagina's? die dus in de frameset zitten??

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Uit je verhaal lijkt naar voren te komen dat de rest van de pagina niet correct XHTML is. Dus het zou misschien wel handig zijn als je de rest van de pagina toont.

edit:
ik had de startpost geciteerd, is niet echt nodig

[ Voor 81% gewijzigd door begintmeta op 18-01-2004 21:47 ]


  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
crisp schreef op 18 januari 2004 @ 21:38:
gebruik de validator en zorg ervoor dat je eerst alles wat niet valideerd gefixed hebt.
o.a. je scrollbar-kleurtjes kan je idd wel vergeten in XHTML strict, want dat zijn IE-only toevoegingen die dus niet tot de standaard behoren. Als IE strict rendert zal hij die ook netjes negeren.

Let wel dat alleen IE6 een strict-mode kent, IE5.5 en lager blijven in quircksmode renderen
Ik wil geen strict gebruiken alleen transitional, deze is minder strict en krijg ik minder problemen lijkt me toch?
Kan IE5, 5.5 ook overweg met XHTML 1.0 Transitional?

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Urk schreef op 18 januari 2004 @ 21:39:
[...]
Misschien nog een stomme vraag hoor maar je hebt 3 XHTML doctypes
strict
transitional
frameset

gebruik ik de frameset doctype alleen bij de FRAMESET pagina en de transitional doctype bij alle overige pagina's? die dus in de frameset zitten??
Wat is de vraag dan? Of dat kan. Tuurlijk kan dat. De pagina's is de frames worden volgens mij gewoon geheel apart afgehandeld, die heb, afgezien van het feit dat ze in het frame zitten, er niet zo veel mee te maken.

Noushka's Magnificent Dream | Unity


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Urk schreef op 18 januari 2004 @ 21:40:
[...]


Ik wil geen strict gebruiken alleen transitional, deze is minder strict en krijg ik minder problemen lijkt me toch?
Kan IE5, 5.5 ook overweg met XHTML 1.0 Transitional?
Hoe stricter de regels, hoe minder je mag, en hoe meer je kunt voorspellen hoe het gedrag van de pagina in verschillende browser zal zijn. Stricter levert uiteindelijk alleen maar minder problemen op hoor. Ook met zicht op de toekomst.

Noushka's Magnificent Dream | Unity


  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
Michali schreef op 18 januari 2004 @ 21:42:
[...]

Wat is de vraag dan? Of dat kan. Tuurlijk kan dat. De pagina's is de frames worden volgens mij gewoon geheel apart afgehandeld, die heb, afgezien van het feit dat ze in het frame zitten, er niet zo veel mee te maken.
Tnx, maar mijn vraag was meer: in iedere pagina zet je bovenaan een DOCTYPE, is het zo dat alleen de FRAMESET pagina de doctype:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"

krijgt en de overige pagina's (die dus bijv zich in de FRAMESET bevinden als frame)

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

??
De W3 validator kan alleen valideren per pagina toch? niet een hele site, of kan dat wel? Als je de root validate, dan checked hij alleen de frameset pagina uit zichzelf neem ik aan? (als ik het goed begrijp ;) )

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Clientside stuff zoals HTML, XHTML, .... hoort in W&G thuis, niet in P&W
-> W&G

https://fgheysels.github.io/


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:43

crisp

Devver

Pixelated

de xml-declaratie forceert eigenlijk weer dat IE6 in quircksmode gaat ;)

Intentionally left blank


  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
whoami schreef op 18 januari 2004 @ 21:52:
Clientside stuff zoals HTML, XHTML, .... hoort in W&G thuis, niet in P&W
-> W&G
Sorry, zag het inderdaad pas nadat ik de topic had gepost, STOM! |:(
Helaas kan je niet zelf je topic moven ;)

  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
Waarom mag dit niet?

<td height="18">Klik <a class="jslink" onMouseOver="this.className='jslinkhover';"
onMouseOut="this.className='jslink';" onClick="window.open
('kaart.asp','kaart','width=605,height=490,toolbar=no,location=no,directories=no,st
atus=no,menubar=no,scrollbars=no,resizable=no,screenX=113,screenY=113,top=1
13,left=113')">hier</a> voor een routebeschrijving.</td>


Dit geeft de W3 XHTML Transitional validator nog voor laatste 3 foutmeldingen...


Line 91, column 53: there is no attribute "onMouseOver" (explain...).
...">Klik <a class="jslink" onMouseOver="this.className='jslinkhover';" onMouseO
^
Line 91, column 96: there is no attribute "onMouseOut" (explain...).
...className='jslinkhover';" onMouseOut="this.className='jslink';" onClick="wind
^
Line 91, column 131: there is no attribute "onClick" (explain...).
...t="this.className='jslink';" onClick="window.open('kaart.asp','kaart','width=

Ik kan toch wel gewoon JavaScript event handlers gebruiken????

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:43

crisp

Devver

Pixelated

XHTML is case sensitive, dus onmouseover, onclick etc. gebruiken...

Intentionally left blank


  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
crisp schreef op 18 januari 2004 @ 22:28:
XHTML is case sensitive, dus onmouseover, onclick etc. gebruiken...
Aha, inderdaad, wist niet dat dat ook voor JavaScript handlers geldde.
TNX --> de output is nu:

This Page Is Valid XHTML 1.0 Transitional!

JIPPIE :-)

Alle tags en attributen moet dus in XHTML altijd lowercase?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:43

crisp

Devver

Pixelated

Urk schreef op 18 januari 2004 @ 22:31:
[...]
Alle tags en attributen moet dus in XHTML altijd lowercase?
jep :)

Intentionally left blank


  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
OK, thanks voor je hulp!

  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
OOPPSSS... toch nog een probleem

Als ik de pagina nu in Opera 7.22 bekijk heb ik weer hetzelfde probleem als helemaal hier bovenaan beschreven, alles word weer in het CENTER uitgelijnt!
Bij IE dus net opgelost door <?xml version="1.0" encoding="ISO-8859-1"?> helemaal bovenaan de pagina te zetten.. Opera blijf het probleem..

Hoe kan dat nou??

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:43

crisp

Devver

Pixelated

zet in plaats van die XML-declaratie eens gewoon een html-comment boven de DTD; zelfde effect, minder kans op problemen in andere browsers

[ Voor 28% gewijzigd door crisp op 18-01-2004 22:44 ]

Intentionally left blank


  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
crisp schreef op 18 januari 2004 @ 22:43:
zet in plaats van die XML-declaratie eens gewoon een html-comment boven de DTD; zelfde effect, minder kans op problemen in andere browsers
Wat bedoel je daar precies mee?
Ik heb nu:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:43

crisp

Devver

Pixelated

zoiets:

HTML:
1
2
<!-- force IE in quircksmode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

Intentionally left blank


  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
crisp schreef op 18 januari 2004 @ 22:54:
zoiets:

HTML:
1
2
<!-- force IE in quircksmode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Vaag, waarom werkt dat wel? En wat betekent quircksmode?
Wat het probleem ook oplost is tevens in de HEAD te zetten:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

en voor IE bovenaan de pagina ook nog
<?xml version="1.0" encoding="ISO-8859-1"?>

Heel vaag allemaal :?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:43

crisp

Devver

Pixelated

quirksmode is de non-compliant rendermode van IE, waarin hij dus niet zozeer meer op naleving van de standaard let.
Die content-type is trouwens ook verplicht voor elke pagina wil het kunnen valideren

de methode met de comment boven de DTD verdient trouwens de voorkeur boven de XML-declaratie. In feite zou de pagina gewoon vanaf de webserver met een xml-content-type geserveerd dienen te worden, maar dan gaat IE helemaal over z'n nek ;)

Intentionally left blank


  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

crisp schreef op 18 januari 2004 @ 23:04:
Die content-type is trouwens ook verplicht voor elke pagina wil het kunnen valideren
Niet de Content-Type, maar de specificiëring van de charset is verplicht. ;)

/kleine verduidelijking

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 09:43
Urk schreef op 18 januari 2004 @ 21:39:
Misschien nog een stomme vraag hoor maar je hebt 3 XHTML doctypes
strict
transitional
frameset
Dat is inderdaad bij xhtml 1.0 zo. Bij xhtml 1.1 daarintegen is er nog maar één 'soort'. En die is een mengeling tussen strict en transitional, omdat strict in veel gevallen té strict bleek te zijn ;).

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:43

crisp

Devver

Pixelated

ik vind XHTML1.1 ook al te strict. Die X staat toch voor Extensible? waarom zou je dan geen custom attributes mogen gebruiken?

Intentionally left blank


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 09:43
crisp schreef op 19 januari 2004 @ 01:03:
ik vind XHTML1.1 ook al te strict. Die X staat toch voor Extensible? waarom zou je dan geen custom attributes mogen gebruiken?
Omdat je juist dan weer krijgt dat elke editor en browser alles anders gaan interpreteren. Wees blij, anders krijg je weer frontpage attributen :P.

Trouwens, ik heb wel eens een xhtml 1.0 strict document gemaakt (hele tijd geleden), maar bepaalde tags mocht je dan niet eens meer gebruiken. Ik geloof tables ofzo, geen idee meer.

offtopic:
Wanneer komen je pompoenen, crisp?

[ Voor 6% gewijzigd door Dennis op 19-01-2004 01:07 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:43

crisp

Devver

Pixelated

ddc schreef op 19 januari 2004 @ 01:06:
[...]

Omdat je juist dan weer krijgt dat elke editor en browser alles anders gaan interpreteren. Wees blij, anders krijg je weer frontpage attributen :P.

Trouwens, ik heb wel eens een xhtml 1.0 strict document gemaakt (hele tijd geleden), maar bepaalde tags mocht je dan niet eens meer gebruiken. Ik geloof tables ofzo, geen idee meer.

offtopic:
Wanneer komen je pompoenen, crisp?
custom attributes gebruiken is juist een hele handige manier om vanuit scripting met je markup te kunnen werken; zo kan je gewoon veel beter relaties leggen tussen verschillende elementen waar je in je scripting weer op in kan spelen. Het gebruik van id's die uniek moeten zijn, en het feit dat name-attributes bijna overal deprecated zijn lost dat probleem niet echt op. Ik zie het hele probleem niet ook om niet-gestandaardiseerde attributen te mogen gebruiken; bijna alle browsers gaan er goed mee om en maken die ook beschikbaar binnen een scripting environment...

offtopic:
pumpkins gaat nog wel even duren; voorlopig ben ik even druk met andere zaken

[ Voor 5% gewijzigd door crisp op 19-01-2004 01:30 ]

Intentionally left blank


  • Bluestorm
  • Registratie: Januari 2000
  • Laatst online: 20-08-2022
kun je daarvoor die custom attributen niet naar een andere namespace helpen? Ze zijn immers geen html... Maar daar zullen de meeste browsers wel weer niet goed mee omgaan of wel?

Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden


Verwijderd

Als je XHTML gaat aanpassen moet je het ook als XHTML versturen, want voor XHTML is het niet perse nodig om te valideren, maar iedereen verstuurt het als text/html en daarom is het wel nodig.

HTML heeft een _vast_ schema vastgelegd in een DTD (XHTML ook, maar ok), hierin staan bepaalde regels over welke elemeten wel of niet afgesloten moeten worden en hoe de relatie is tussen deze elementen.

In XHTML is dat ook zo, maar in een XHTML browser mag je dingen ook anders neerzetten. Je kunt een DIV als root element nemen en nog steeds moet het werken. In Mozilla zul je merken dat dit grotendeels perfect werkt en dat je gewoon je eigen gang kunt gaan, maar aangezien je compatible wilt zijn (meestal) gebruik je die DOCTYPE en valideer je ernaar.

  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
Jeetje, heb al gezocht op de search en google:

Waarom mag dit niet in XHTML 1.0 Transitional:

Stukje javascript dat tussen
<script language="JavaScript" type="text/javascript">
en
</script>
zit:

myScroller1.addItem("<b><u>Titel</u></b><br />Dit is de tekst<br /><font color='gray'>15 februari 2004 - 22:50</font>");

Ik krijg bij de W3 validator de volgende foutmeldingen:

Line 34, column 24: document type does not allow element "b" here (explain...).
myScroller1.addItem("<b><u>Titel</u></b><br>Dit is de tekst....
:?

  • Skaah
  • Registratie: Juni 2001
  • Niet online
Gaat zeker niet werken als je &lg; & < gaat gebruiken? Kun je allicht proberen. Eigenlijk hoort het nog anders:
JavaScript:
1
2
3
4
el = createChild('b');
el.innerHTML = 'Dit is de tekst';
document.appendChild(el);
ofzo.

[ Voor 9% gewijzigd door Skaah op 20-01-2004 00:52 ]


  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
Skaah schreef op 20 januari 2004 @ 00:51:
Gaat zeker niet werken als je &lg; & < gaat gebruiken? Kun je allicht proberen. Eigenlijk hoort het nog anders:
JavaScript:
1
2
3
4
el = createChild('b');
el.innerHTML = 'Dit is de tekst';
document.appendChild(el);
ofzo.
Oh, en waarom is dat?? Het word zo echt reuze onoverzichtelijk....

HTML:
1
&lt;b&gt;&lt;u&gt;


<b><u> ziet er toch veel overzichtelijker en makkelijker uit?
Waarom moet het met ASCII codes?

De foutmeldingen bij de W3 validator verdwijnen dan inderdaad wel....

  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
Sorry vergeet nog te zeggen dat dit alles ook nog in ASP (VBScript) code gegenereerd word, dit is de code:

ASP:
1
2
3
4
5
6
 SelectNieuws = "SELECT * FROM Nieuws WHERE nieuws_active = 1"
 Set RS = DBCon.Execute(SelectNieuws)
 While Not RS.EOF
   Response.Write "myScroller1.addItem(" & Chr(34) & "&lt;b&gt;&lt;u&gt;" & RS("nieuws_titel") & "&lt;/u&gt;&lt;/b&gt;<br />" & RS("nieuws_tekst") & "<br><font color='gray'>" & MakeDate(RS("nieuws_date")) & "</font>" & Chr(34) & ");" & vbCRLF
 RS.MoveNext
 Wend


Kan dit niet makkelijker i.p.v.
HTML:
1
&lt;
en
HTML:
1
&gt;
??? :?

Trouwens:
Ik zie net ook dat het dan op de site verkeerd gaat, i.p.v. de tekst bold weer te geven zie ik <b> en </b> etc. staan. en dat is natuurlijk niet de bedoeling...

[ Voor 59% gewijzigd door Urk op 20-01-2004 01:06 . Reden: toevoeging ]


  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Gebruik dan server.HTMLencode("<><><><><><><><>"), blijft het voor jezelf leesbaar.

Huur mij in als freelance SEO consultant!


  • Urk
  • Registratie: Maart 2000
  • Laatst online: 27-05 15:46
CrashOne schreef op 20 januari 2004 @ 01:06:
Gebruik dan server.HTMLencode("<><><><><><><><>"), blijft het voor jezelf leesbaar.
Dat werkt ook niet....
Pagina: 1