Problemet med DHTML ((X-)HTML og Javascript) menuer er netop browserkompatibilitet disken.
Man skal for det første sikre at de forskellige DOM implementationer tilgodeses. F.eks. kan:
IE -> document.all
Mozilla -> document.layer
..bruges til at 'udmaske' browsertypen, men betyder også redundant kode, hvilket besværliggør vedligeholdelse.
For det andet vil der ofte opstå problemer for folk med skærmlæsere og de som af sikkerhedshensyn og performance har slået scripting fra. Disse brugere vil slet ikke kunne benytte et DHTML menusystem. Derimod vil alle kunne bruge et CSS menusystem ..uanset at nogen browsere så 'kløjs' i layoutet, medmindre der specifikt tages højre for deres renderingsmetoder.
Jeg medgiver dog det heller ikke er helt uden problemer, at få CSS til at makke ret i div. browsere grundet manglende understøttelse af standarden. Man kan vælge at benytte browser hacks:
http://www.positioniseverything.net/ ...betingede kommentarer:
http://msdn2.microsoft.com/en-us/library/ms537512.aspx ..en blanding af disse teknikker ..eller helt at undgå hacks:
http://css-discuss.incutio.com/?page=AvoidingHacks
Det er efterhånden ved at være en større 'videnskab'.
Selv benytter jeg betingede kommentarer og 'dedikerede' stylesheets UDEN hacks ved at udnytte CSS precedensreglerne for at sikre at layout holder i forskellige browsere.
Stuart Nicholls menuer:
1.) Dropdown:
http://www.cssplay.co.uk/menus/simple_vertical.html
2.) Flyout:
http://www.cssplay.co.uk/menus/flyout_4level.html
Burde indeholde alle de elementer moltov efterspørger, men viser også det ikke er helt simpelt at få div. browsere til at 'makke ret'.
BEMÆRK:
Citat 2. Kompatibel med Mac og alm. PC |
Det er alle hjemmesider uanset menustrukturen implementeret i (X-)HTML, Javascript og CSS
Forskellen ligger i browseren.
Når man vil teste layout for forskellige browsere: IE5, IE5.5, IE6, IE7, Netscape, Mozilla Firefox, Safari, Opera, Konqueror, Seamonkey osv. behøver man ikke have dem alle installeret. Man kan i stedet teste sit layout som screendump her:
http://browsershots.org/
Man kan teste for forskellige opløsninger, Javascript og Java versioner, Flash mm.
Når man efter et stykke tid reloader resultatsiden får man mulighed for at forlænge timeout, hvis ikke screenshots er dukket op endnu (..der er mange om budet på denne 'service' !!!)
</MOLOKYLE>