23. august 2008 - 17:05Der er
24 kommentarer og 1 løsning
Linjeskift i IE der ikke burde være der?
Hej Eksperter.
Jeg har umiddelbart lidt svært ved at forklare mit problem, men vil prøve:
Jeg har lavet et "expand" system til en række nyheder. Mit problem er så at når man vil have overskrifterne under katekorien væk igen fjerne IE ganske rigtigt indholdet men laver så et linjeskift der ikke skal være dér. Systemet virker i FF, Safari og Opera, men ikke i IE (andre browsere er ikke testet).
Hvis det vil hjælpe at se fejlen så gå ind på http://www.mj-design.dk/v2.0/. Det er oversigten i højre side hvor der er 3 måneder. Prøv at klikke to gane i IE og du vil se.
Koden er som følger, hvor det meste er lavet med en loop i PHP.
<script type="text/javascript"> function expand_groupe(id) { var id2 = 'kalender_oversigt_' + id; var now_indhold = document.getElementById(id2).innerHTML; if(now_indhold=='') { document.getElementById(id2).innerHTML='<ul><li>Test 1</li><li> test 2</li></ul>'; } else { document.getElementById(id2).innerHTML=''; }
innerhtml er ganske valid, hvis browseren understøtter det, men er ikke en w3c standard ... men da det er en del af html5 http://www.w3.org/html/wg/html5/ - bliver det nok en standard i mange browsere og dermed er tendensen til at være understøttet en del højere (selvom det er understøttet og valid i mange browsere allerede idag).
Der er intet, der hedder HTML5 - og der bliver måske aldrig noget, der kommer til at hedde sådan. Foreløbig er det blot en våd drøm hos en arbejdsgruppe under W3C, men dem har der været så mange af, uden de nogensinde er blevet til færdige rekomandationer.
Der er ingen standard eller rekommandation, hvor innerHTML er valid. Det fremgår tydeligt af din kommentar, du ikke ved, hvad ordet 'valid' betyder. Sætningen: "selvom det er understøttet og valid i mange browsere allerede idag" giver således ikke skygge af mening.
At din bil kan køre 180 km/t betyder ikke, at den hastighed er tilladt ... og den er heller ikke tilladt i din bil ;o)
innerHTML er invalid! That's it 'n' that's that! Uanset, hvad dine drømme om en mulig, fjern fremtid måtte fortælle dig =)
- og hvis man har fulgt lidt med i WWW's udvikling, er det nok ikke overvejende sandsynligt, at HTML5 nogensinde bliver til noget. Store multinationale koncerner har bundet milliarder af dollars i XML og XHTML og indrettet hele teknologier på basis af XML og XHTML.
Mig bekendt er det meget langtfra tilfældet med HTML5, så mon ikke det igen er økonomien (og i dette tilfælde fornuften), der får lov til at sejre? For mig at se har de solgt hele idéen omkring integrationen af XML-baserede sprog - og muligheden for at implementere special-tags i et proprietært namespace på en fornuftig måde.
Det er altid velgørende med andre synspunkter - men HTML5 er ikke et sprog, jeg på nuværende tidspunkt finder det værd at bruge tid på ... men jeg vil naturligvis ikke blande mig i, hvad andre drømmer om =)
Ole >> Ja, hvis man ikke forstår ordenes betydning er det dobbelt vrøvl.
- Forudsat at det bliver til en w3 standard så er der noget der hedder HTML5 indenfor standarderne, der er noget der hedder HTML5 i dag, det er det som der arbejdes på under arbejdsgruppen inde hos w3 ... for lige at vende din sætning.
At min bil kan køre 180 km/t betyder at den hastighed er understøttet og kan være tilladt, forudsat selvfølgelig at jeg tager mine forholdsregler, i det tilfælde skal jeg nok en smut forbi Jyllands ringen. Og hvad angår at det er understøttet og tilladt at bruge innerHTML i nogle browsere, ja så er det skam korrekt - men man bør huske at det ikke er en del af w3 standarder, så man bør igen ligeledes tage sine forholdregler. Tager man sine w3 briller på kan man selvfølgelig sige at det ikke er valid i henhold til w3's standarder - det ændrer dog ikke på at det er tilladt indenfor den enkelte browser. Nogle css regler er jo også tilladte i nogle browsere selvom de giver en warning hos w3 da de ikke er en del af w3's css standarder. Læs evt. kommentarer fra en anden vinkel end din foretrukne Ole.
Resten er der for så vidt ikke meget at kommentere om andet end du ikke har forstået min kommentar og lægger en betydning i mit indlæg som ikke er der. - Bliver det standardiseret hos w3 er det valid iflg. w3 at bruge det. - Gør det ikke, ja så holder min kommentar om validiteten stadig, det er tilladt i de browsere der understøtter det uanset hvad w3 siger.
Nej, jeg drømmer ikke om HTML5, men hvis nu det er din tro, så må troen være med dig.
/ valid = Gyldig ... men gyldighed kan bedømmes fra flere vinkler.
Du har heller ikke forstået CSS standarden eller hvad 'warning' betyder i W3C's validator. CSS standarden foreskriver eksplicit, at hvis en browser ikke forstår en property, skal denne blot springes over under parsing.
Derfor udløser den slags ikke en error, men en warning - der er ikke tale om en overtrædelse af CSS standarden.
Den form for 'overspring' er bare ikke en del af W3C's DOM, hvorfor sammenligningen ikke holder.
Valid kode er valid kode - og det begreb har jeg ikke hørt skulle have ændret sig på det seneste =)
... Ligeledes bør man ved scripting spørge på om browseren understøtter det ønskede, hvis ikke, så bør man få den til at springe det over, lidt ligesom css. - Den del burde være forståeligt når man anvender ikke standardiserede script metoder.
Jeg har udmærket forståelse for css standarder og hvad en warning betyder - jeg har selv gentagne gange sagt i css spørgsmål, at en warning ikke er en fejl og derfor bør man ikke bekymre sig om det (forudsat at det selvfølgelig ikke er en væsentlig designmæssig css påvirkning, der gør at andre browsere ser helt elendigt ud).
Måske har du endnu ikke forstået at min kommentar drejede sig om brugen af ordet valid, der får det til at lyde som om at det er fuldstændigt invalid at bruge det - begyndere der kommer ind og læser det tænker ikke nødvendigvis over at det kun er invalid i henhold til at det ikke er optaget i standarderne.
... Men nu har du brugt 4 indlæg mere på at kommentere ordet valid og har givet udtryk for din mening - jeg forventer så, at du vil tale positivt for innerHTML's validitet hvis HTML5 bliver en standard, gør du ikke ja så hmm, ha' en dag =)
Jo, jeg forstår udmærket - i modsætning til dig selv - hvad du skriver. Ydermere har du endnu ikke fattet (eller måske ønsket at fatte), hvad det er, jeg skriver om innerHTML. Det kan jo kun undre, da jeg gang på gang har skrevet lange indlæg om emnet her på sitet - og ovenikøbet skrevet en artikel om det!
- og hvis du allerede har læst den, så bed én, der kan læse, om at læse den op og forklare dens indhold for dig!
Nej, det kunne da aldrig falde mig ind at være så stupid at begynde at tale positivt om innerHTML, hvis den bliver en del af HTML5. Min pointe er jo netop, at innerHTML - udover at være invalid - er hamrende uhensigtsmæssig at bruge. Det vil jo ikke ændre sig, hvis den bliver del af HTML5.
Naturligvis står jeg ved mine meninger - uagtet, property'en skulle blive optaget i HTML5 ... på fuldstændig samme måde, som jeg jævnligt kritiserer de bestående standarder og deres mangler!
Til gengæld siger din antagelse en masse om dit eget forhold til webkode - men du får altså ikke mig med på den 'vendekåbevogn'. Jeg mener, hvad jeg siger - og siger, hvad jeg mener ... uanset, hvad andre måtte mene!
"... Ligeledes bør man ved scripting spørge på om browseren understøtter det ønskede, hvis ikke, så bør man få den til at springe det over, lidt ligesom css. - Den del burde være forståeligt når man anvender ikke standardiserede script metoder." >> Jamen, det er jo ikke 'ligeledes'! Du taler om ting, der ikke har det fjerneste med hinanden at gøre.
innerHTML er _absolut_ invalid - og det ville være en katastrofe, hvis en begynder udi webkode fejlagtigt skulle tillægge dine vrøvlerier nogen somhelst betydning!
"Naturligvis står jeg ved mine meninger - uagtet, property'en skulle blive optaget i HTML5 ... på fuldstændig samme måde, som jeg jævnligt kritiserer de bestående standarder og deres mangler!"
D.v.s. at det ikke er fordi den er invalid i henhold til w3 at du har noget imod den, men fordi at den ikke er hensigtsmæssig. Med andre ord, hvis den var valid ville du fremhæve at "den er valid men ikke hensigtsmæssig" ... eller ville du blot fremhæve at "den ikke er hensigtsmæssig" ... jeg formoder så først nævnte, ellers giver det jo ikke megen værdi at degradere den under henvisning til dens invaliditet i henhold til standarderne idag.
Jeg hopper skam ikke med på vendekåbe vognen, og netop derfor henlægger jeg ikke 100% af mine holdninger til om en browser proprietær javascript funktion er en del af standarden eller ej - men mere om den kan være hensigtsmæssig eller ej. I nogle tilfælde kan innerHTML være hensigtsmæssig, men jeg vil betegne langt størstedelen som uhensigtsmæssig p.t.. Om den så er valid eller invalid i henhold til standarderne har ikke spor at gøre med min holdning - jeg hæfter mig ved understøttelse og effektivitet.
Jeg har skam læst din artikel og er egentlig ikke uenig i den, måske er årsagen til at du ikke forstår mig grundet mit manglende brug af udråbstegn eller manglende effekt af at sætte andre i bås ...
Ole du anvender for mig at se innerHTML's invaliditet i henhold til standarderne hos w3 til at degradere dens evne til at indsætte html hurtigt i elementer i stedet for at argumentere (evt. via. at linke til din artikel) om uhensigtsmæssighederne i brugen af innerHTML. Belyst af:
"Naturligvis står jeg ved mine meninger - uagtet, property'en skulle blive optaget i HTML5 ... på fuldstændig samme måde, som jeg jævnligt kritiserer de bestående standarder og deres mangler!"
fremgår det dog tydeligt at du ikke lægger validitet af en standard megen vægt, det kan dog så vise sig som en vendekåbe taktik at anvende manglende validitet til at tale ned om en ting, når man ikke tillægger validiteten hos w3 alfa og omega betydning.
Men det kan da også ske at jeg forstår dig helt forkert og det ikke har noget med validiteten hos w3 at gøre - selvom du nu godt nok hæfter dig ved at den mangler.
Vi når nok ikke videre i denne debat andet end at være enige om at: - innerHTML er understøttet og tilladt at bruge i IE, FF, Opera m.v. - innerHTML er ikke en hensigtsmæssig måde at håndtere elementudskiftning på. - innerHTML er p.t. ikke valid iflg. w3 (læs: ikke en del af standarderne).
... Hvor jeg dog føler at det du siger er at man ikke må benytte innerHTML fordi den ikke er i standarderne jvf. punkt 3, mens jeg forholder mig til punkt 2 i stedet - det er dog rart at se, at du vil tillægge punkt 2 mere værdi hvis HTML5 bliver en standard :)
"D.v.s. at det ikke er fordi den er invalid [...]" >> Da du ikke synes begavet nok til at lade mine udtalelser forblive uforvansket, gider jeg ikke spilde min sparsomme tid på dig!
Det er så eksorbitant veldokumenteret her i E's tråde, hvad jeg mener om dette emne, at det burde være højtlæsning for pygmæer at ekstrahere betydningen. Få nogen til at hjælpe dig ... jeg orker ikke længere!
Du forklarer, hvad jeg mener med en udtalelse, du tydeligvis ikke forstår ... det har da intet med en 'belysning' at gøre.
Du fatter ikke en bjælde af mine holdninger omkring innerHTML - eller argumenterne for dem.
Kommentaren:
"Belyst af: [...] "fremgår det dog tydeligt at du ikke lægger validitet af en standard megen vægt, det kan dog så vise sig som en vendekåbe taktik at anvende manglende validitet til at tale ned om en ting, når man ikke tillægger validiteten hos w3 alfa og omega betydning."
- er det rene og skære vås! Alle andre kodere som sagt har en væsentlig anden opfattelse af ordet 'validitet', end du har:
W3C og ECMA sætter standarderne for webkode. Skal en kode være valid, skal den overholde disse standarder.
At du må give stich ret, er nok ikke lige noget at reklamere med. Det var den sociopatiske bruger, Admin blev nødt til at stoppe, da han havde klistret sit minisite til med ren og skær flaming af min person. Næ, stich's problem var ikke mine holdninger, men min person. Fint selskab, du søger! ;o)
Du kritisere den manglende validitet, du hævder den er vigtig og alligevel hæfter du dig ved at du stadig vil tale ned om den property såfremt den var valid, ergo handler det ikke om hvorvidt den er invalid. Sådan læser jeg din holdning, og du kan ikke ændrer måden jeg læser din holdning på.
- Jeg føler du skriver det ret tydeligt i teksten, men føler at du ikke vil acceptere faktummet at det ikke er den manglende validitet som der trykker i skoen.
Jeg kender ikke Stich udover at han mente du fokuserede på manglende standard ud fra din egen holdning - i dette indlæg føler jeg blot det slået fast at det forholder sig således. Derudover er du ganske uovertruffen i dine forsøg med at sætte folk i bås, jeg lader andre læsere forholde sig til dine udtalelser selv, jeg hæfter mig ved:
"Nej, det kunne da aldrig falde mig ind at være så stupid at begynde at tale positivt om innerHTML, hvis den bliver en del af HTML5. Min pointe er jo netop, at innerHTML - udover at være invalid - er hamrende uhensigtsmæssig at bruge. Det vil jo ikke ændre sig, hvis den bliver del af HTML5."
... samt at du konstant henfalder dig til at anvende manglende validitet som skyts. - Om tingen så bliver valid er fuldstændig ligegyldig, så længe den ikke er kan det bruges i argumentationerne! ;o)
... Og så er Stich konti vist stadig her, men jeres dybere forhold til tidligere tråde kommer ikke mig ved Ole, men du kan jo altid tale med admin hvis Stich burde være blevet stoppet/banned ... http://www.eksperten.dk/bruger.phtml?navn=stich
Ja, den følelse har jeg haft ligesiden dit første indlæg i tråden som udelukkende gik ud på at fornedre min brug af ordet valid ,fordi jeg brugte den uden for den normale kodemæssige ordbrug - til og med notere jeg i min kommentar, at det ikke var en w3 standard.
Det var ikke nok til at undgå din irettesættelse, om at det var forkert ordbrug, og at jeg så nok ikke vidste, hvad ordet valid betyder.
Vælger jeg at bruge ordet ud fra dets reele betydning, ja så gør jeg det, vælger jeg at bruge det ud fra den kodemæssige betydning, ja så gør jeg det.
- Men at stille sig på bagbenene og påberåbe mig properties invaliditet i forhold til w3 samt manglende betydning af validitet såfremt properties optages og fastlæggelse om hvorvidt en property eller en arbejdsgruppes oplæg hos w3 nogensinde bliver en del af w3, ja det må jeg nok overlade til dig.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.