|
Denne side præsenterer og demonstrerer "Faneblade i XHTML". For at forstå og anvende systemet, anbefales det at læse de to forklarende artikler der er skrevet om det, henholdsvis "Faneblade i XHTML" og "Faneblade i ASP". Formålet er, at opnå en effekt i en browser, svarende til fanebladene/panelerne i Windows' grænseflade, som disse for eksempel ses hyppigt brugt i kontrolpaneler og indstillings-dialoger. Ovenstående uden at belaste serveren ved at skulle udføre script eller lignende, hver gang der skiftes panel-side. Konceptet implementeres med det mål for øje, at det nemt kan udvides og genbruges, samt indarbejdes i eksisterende kode. Som konsekvens heraf tilstræbes i videst muligt omfang, at de gældende standarder fra World Wide Web Consortium (W3C) overholdes.
|
Til rådighed er alle teknologier der understøttes af browseren. I denne implementation er valgt anvendelse af Document Object Model (DOM) i sammenhæng med Cascading StyleSheets (CSS). Til at kæde disse sammen anvendes eXtensible HyperText Markup Language (XHTML) og JavaScript (JS). Kandidat-teknologier der er fravalgt, inkluderer Java og Flash.
|
|
|
XHTML er tilstræbt for at maksimere anvendeligheden af implementeringen i flest muligt browsere, samt for at minimere fremtidige vedligeholdelsesbehov.
|
CSS giver en nem og hurtig måde både at vedligeholde og modifere/tilpasse udseendet af det realiserede system.
|
DOM benyttes til at ændre den visuelle fremtræden af fane- og titel-blade, samt til at reagere på brugerinput.
|
Selvom det er muligt at indlejre paneler i hinanden som det er gjort her, er det af tvivlsom brugervenlighed. Hermed også illustreret, at der kan være flere paneler på samme side.
|
Funktionaliteten er realiseret gennem ASP server-side af Tobias Hinnerup - ved henvendelse til Jakob Kruse vil muligvis kunne fremskaffes en udgave implementeret i PHP .
|
|
|
Der er tilstræbt understøttelse af Internet Explorer 5+ (IE5). Koden overholder W3C's definition af XHMTL 1.0 Strict og eneste afvigelse fra samme organisations definition af CSS er anvendelsen af cursor-typen "hand", der burder være "pointer" (hvilket ikke understøttes af IE). Der anvendes skift af display på en tabel-celle (jf. W3C), hvilket ikke understøttes af Netscape (NS) i version 6.01. Koden er gennemprøvet i IE 5.5 og 5.01, og erklæret uanvendelig i NS 6.01. Opera (O) 5.0 kan heller ikke håndtere sagerne. Det vil ikke fungere i IE version 4, på grund af kald til getElementById. Jævnfør den aktuelle browser statistik fra W3Schools, skulle systemet ved frigivelsen af version 1 dermed kunne anvendes af mere en 75% af nettets samlede bruger-masse. Erfaringer med denne kode i ikke-testede systemer, eller input på muligheder for at gøre det anvendeligt i NS eller O er mere end velkomne og henvendes til Tobias Hinnerup.
|
Copyright Nærværende kode er skrevet af Tobias Hinnerup. Alle intellektuelle rettigheder frigives hermed - til gengæld opfordres du til at liste mig i "Credits" på eventuelle sites du benytter systemet. Vælger du at anvende denne kode på egne sider, er det fuldstændig på eget ansvar - men du er naturligvis velkommen til at bibeholde den kildeangivelse koden er udformet med. Forslag til forbedringer, fejlrapporter, store summer penge i umærkede sedler og klapsalver modtages gerne. Credits Oprindelig idé-indehaver er Jakob Kruse, der sammen med Jesper Lund og Svend Tofte har bidraget til realiseringen.
|
Nedenstående filer er nødvendige bestanddele af nærværende panel-system. Det anbefales at bruge højre-klik og derefter "Gem som...". eXtensible HyperText Markup Language (XHTML) (Ca. 15 Kb) Cascading Style-Sheet (CSS) (Ca. 4 Kb) JavaScript (JS) (Ca. 2 Kb) Active Server Pages/Visual Basic Script (ASP) (Ca. 5 Kb)
ASP implementeringen i Visual Basic Script (klasse-baseret), der er anvendt til at generere denne side, kan fremtrylles på opfordring gennem Tobias Hinnerup.
|
Version 1
|
|
Version 2
|
|
Version 3
|
|
Known bugs
|
|
|
|
|
Frigivet 25. Marts 2001.
|
Frigivet 27. Marts 2001. Renere anvendelse af CSS's klasser (mindre JS). Support for faner/labels i højre/venstre side.
|
Ikke frigivet endnu. Anvendelse af CSS-behaviors i stedet for "onclick". Effektivisering af de-aktivering af det valgte panel. XHTML 1.1?
|
IE understøtter ikke "empty-cells: show" - afstand mellem vertikale labels kan ikke gøres mindre end højden af et mellemrum (xx-small).
|
|
|
Størstedelen af systemet funktionalitet er allerede demonstreret. Herunder er vist to minimale eksempler på anvendelse af horisontale faneblade, og så skulle det fulde spænd være dækket. Programmering bag systemet kan være vanskelig at gennemskue - derfor er der skrevet artikler der forklarer hvordan XHTML og ASP koden fungerer. Hvis du anvender dette system, må du gerne sende en mail til Tobias Hinnerup med URI'en. Linket vil da blive indlagt på denne side.
|