Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 141 reacties
Submitter: stappel_

Microsoft introduceert in IE8 een tag waarmee een specifieke rendermethode gekozen kan worden. Daarmee moeten de problemen die het bedrijf met de introductie van IE7 ondervond, worden voorkomen.

In een poging om aan webstandaarden te voldoen zonder dat bestaande websites herschreven moeten worden, introduceert Microsoft met Internet Explorer 8 een nieuwe methode om te kiezen hoe een pagina gerenderd moet worden. Naast de al bestaande quirks mode, voor backwards compatibility, en de standards mode, die de webbrowser aan de W3C-standaarden conformeert, komt er nu ook een tag waarmee de ontwikkelaar kan aangeven met welke versie van welke browser een pagina optimaal weergegeven wordt. Zo kan een pagina die voldoet aan door IE8 ondersteunde standaarden middels de meta-tag door IE8 gerenderd worden, maar de developer kan er ook voor kiezen een andere IE-versie - of zelfs Firefox - als renderengine te gebruiken.

Acid 2 IE8De keuze voor deze 'versiespecifieke rendering' komt voort uit de problemen die de introductie van Internet Explorer 7 veroorzaakte. Omdat veel webdevelopers rekening hielden met de eigenaardigheden van IE6, werden pagina's voor Internet Explorer en niet volgens W3C-standaarden geschreven. Internet Explorer 7 hield zich een stuk beter aan de W3C-standaarden, waardoor de workarounds die in IE6 een fatsoenlijke pagina opleverden, in de nieuwe browser juist voor extra problemen zorgden.

Aangezien Internet Explorer 8 de standaarden beter volgt dan zijn voorgangers, bestaat de vrees dat een groot aantal webpagina's opnieuw verkeerd gerenderd wordt met de overstap naar IE8. De nieuw geïntroduceerde meta-tag kan dit voorkomen, door aan te geven dat een browser een bepaalde rendering-methode op de pagina moet loslaten. Op deze manier zou zowel de backwards compatibility als het vermogen van pagina's met verschillende browsers te werken gewaarborgd moeten worden.

Moderatie-faq Wijzig weergave

Reacties (141)

Er bestaat al lang een methode om browser specifiek code uit te voeren:
google maar, het is iets in de aard van:


<!--[IF IE6]
[]ENDIF]-->

Enkel IE 6 zal de code tussen de tags uitvoeren.
Dit word voornamelijk gebruikt voor scripts, maar in principe kun je het voor alles gebruiken. (browser STATS, CSS kiezen, pure HTML ..)

*BRON
http://virtuelvis.com/archives/2004/02/css-ie-only
http://www.quirksmode.org/css/condcom.html

Maar het nadeel is dat je dus voor elke IE-versie anders moet gaan scripten
Dat is het grote verschil nu. MS geeft je keuze om een reder engine te kiezen.

Zoals het aritkel al aangeeft kun je nu ook al kiezen tussen quirks en standaard, maar zoals een devlopper wel weet, is de standaard niet echt standaard, en met quirks heb je te maken met echte "quirks".

Ik hoop dat het eenvoudig gaat zijn als
<!--[RENDER IE8]-->
of
<meta content="engine" data="ie8 /> oid
En dat hij dus default renderd op IE7.


Volgens mij doet MS dit ook voor zichzelf, want in windows verkenner (explorer) zijn er ok heel wat elementen die bestaan uit HTML. En nu kan MS dus ook besparen op omzet werk.

[Reactie gewijzigd door g4wx3 op 22 januari 2008 16:42]

Mooi, dan kan ik als webdeveloper de keuze maken om IE6 helemaal te laten vallen (met de komst van IE8 ga ik niet voor die 5% starre nietswetende IE6 gebruikers nog een site zitten maken). Vervolgens kies ik Firefox als renderengine (IE7 moet dan maar kijken of hij die code ook nog een beetje juist kan vertalen), ik wordt er namelijk een beetje gek van voor 3 browsers te moeten ontwikkelen met allerlei gekke hacks om toch mijn idee op het scherm te verwezenlijken.

Tja voor de gebruiker is het kut om een slome IE8 te hebben, maar misschien hebben ze dan eindelijk een reden om over te stappen op firefox of opera. Eigenlijk geeft MS hiermee hun eigen fouten toe dat ze het in IE6 gewoon flink verkloot hebben.

Tja dat je dan je code op elke oude site moet aanpassen is een probleem waar je toch tegenaan gaat lopen, omdat jou IE6 code waardeloos is wanneer IE8 mainstream is. Ik zie het probleem niet zo, het is slechts een tag toevoegen. En als je het een beetje slim aanpakt en alle sites onder eigen beheer hebt zorg je gewoon dat je een centraal bestandje hebt waarin je nog dingen kunt toevoegen of wijzigen aan ALLE sites.
En daarnaast: de uren die jij werkt breng je in rekening, als jij naar je klant toe zegt dat er een nieuwe IE uit is en dat daarvoor een aantal dingen gewijzigd moeten worden tegen een paar tientjes dan zorgt MS toch mooi voor wat extra inkomsten.

[Reactie gewijzigd door poepkop op 22 januari 2008 17:49]

@poepkop,

Ikzelf ontwikkel al jaren sites en ik test ze regelmatig uit in alle browsers. Ikzelf gebruik nooit hacks. Als je het goed in je koppie hebt dan is het niet nodig. Dit zie ik ook bij mijn collega's. Die delen die mening met mij.
Nee als je tables gebruikt niet nee, maar de klant/bezoeker/bedrijven willen graag dat je css gebruikt. Als dan vervolgens IE heel anders met die css omgaat dan Firefox, is dat flink frustrerend.
Ik wil geen work-arounds of hacks, ik wil me gewoon aan de standaard houden zodat ook mijn code er een stuk schoner uitziet. Moet je is voor de gein gaan zoeken naar leuke ajax-scripts als een lightbox of dergelijke, altijd het zelfde verhaal: 'maarrr in IE6 werkt het alleen als je er deze 10 regels code aan toevoegd'.
Zeker nog nooit met CSS gewerkt? Iets heel simpels als margins is al een hel bij IE.
Zeer slechte zaak dit. Een document met een compatible-with-IE8 meta-tag zal IE9+ en andere browsers 'dwingen' om IE8 (inclusief de bugs, 'features', etc.) na te doen. Wannabe-webdevelopers zullen zonder doctype en meta-tag blijven werken, waardoor hun sites in browsers die het wel goed doen nog steeds verkeerd weergegeven worden.

Elke IE-versie zal dus praktisch gezien een nieuwe render-variant met zich meebrengen. Wil jij over 5 jaar een nieuwe browser bouwen, dan kun je beginnen met het implementeren van de IE8, IE9 en IE10 quirks voor docs met deze meta-tags...

Dit impliceert ook dat IE8 niet slaagt voor de ACID2 test.

[Reactie gewijzigd door JanDM op 22 januari 2008 16:36]

Dat moet je ook doen wanneer deze meta-tag niet toegevoegd zou worden, de eigenaardigheden van de render-engine blijven wel bestaan, tag of niet.

Microsoft zit met een probleem, wat dat probleem is, wordt uitgelegd in het artikel. De enige manier om dit op te lossen is een tag die aangeeft welke engine dient te worden gebruikt (en standaard natuurlijk de IE8 engine). Dit geeft webbouwers de mogelijkheid om oude sites goed te laten renderen in deze browser, simpelweg door een tag toe te voegen. Die nieuwe browser, die gaat sowieso niet alle ongelooflijke rotzooi die in IE6, 5 en verder terug wordt geintroduceerd/gequircked gemakkelijk ondersteunen. Beste is dus om zoveel als mogelijk de standaarden te gebruiken, net zoals MS dat nu wil gaan doen.

Zo komen we er wel ;)
(en standaard natuurlijk de IE8 engine)
Standaard word de engine van IE7 gebruikt...

Het probleem hier is dat tegen de tijd dat we rond IE15 zitten, de browsers nog steeds de IE8 bugs en quirks moeten ondersteunen. En nee, dat probleem heb je zonder die meta-tag niet of veel minder, omdat de auteur dan wel gedwongen word om zijn pagina niet op IE8-bugs te baseren (omdat de pagina dan verkeerd weergegeven zal worden door IE9).

[Reactie gewijzigd door JanDM op 22 januari 2008 16:29]

tuurlijk niet.. als je ziet hoe snel er wordt overgestapt naar de nieuwe versies van msie door opname in servicepacks etc. zitten we over 2 jaar zonder mensen die nog msie 6 of lager gebruiken.
De websites die dan nog van die renderengine uitgaan verouderen en worden minder vaak bezocht. dus tegen de tijd dat msie9 uitkomt hoeft die geen rekening meer te houden met msie6 en ook al stuk minder met msie7.

Sterker nog, waarschijnlijk dat msie9 er gewoon vanuit gaat dat ie volgens de msie8+ methode moet werken.
Dit impliceert dat Microsoft toegeeft dat de vorige versies van IE niet goed renderen, waardoor mensen er aanpassingen aan doen specifiek voor die versies van IE, waardoor de site nu niet meer goed zal renderen in IE8 die de standaarden juist wel weer ondersteunt. Er wordt niks gezegd over het niveau van standaardenondersteuning in '8.
Er wordt niks gezegd over het niveau van standaardenondersteuning in '8.
Je moet een extra HTML meta-tag toevoegen om IE8 standards-mode te triggeren. Die tag komt niet voor in de ACID2 test, waardoor IE8 ACID2 in IE7 mode zal renderen, waarin ie dus jammerlijk faalt.
de acid2 test is een onzintest die slechts aangevoerd wordt om zogenaamde incompatible browsers te vinden. Nog maar kort geleden voldeed geen enkele browser hieraan. daarna is men bewust de test gaan ondersteunen en als zodanig is deze dus nu waardeloos.
Alleen goed voor freaks met een kort geheugen.
Dit impliceert ook dat IE8 niet slaagt voor de ACID2 test.
Als de webstandards group de Acid 2 test inderdaad niet aanpast... Ik ga er voorlopig vanuit dat ze dit ook niet doen...

Verder kan men door de HTML5 doctype te gebruiken er alsnog voor zorgen dat er een betere manier is om de standardsmode in te schakelen.

Als men de Acid2 test goed wil kunnen blijven renderen dan kunnen we altijd nog overschakelen op het HTML5 doctype...
IE8 kan best slagen voor de test, een meta tag erbij is niet verboden.

//offtopic: omdat de meeste browsers ACID2 halen of gaan halen, zijn ze bezig met ACID3:
linkie
IE8 kan best slagen voor de test, een meta tag erbij is niet verboden.
Als je voor IE8 een extra element of attribuut nodig hebt voor standards mode, dan slaagt IE8 dus niet voor deze Acid2 test.
Dat is niet waar waarschijnlijk zal hij default IE8 rendering gebruiken en als je als developer een andere rendering mode wil moet je daar een tag voor toevoegen.

Dus doet hij de acid2 test ook goed.
Dat is niet waar waarschijnlijk zal hij default IE8 rendering gebruiken en als je als developer een andere rendering mode wil moet je daar een tag voor toevoegen.
Bron? Ik maak uit de post op het IE-blog op dat standaard de IE7 engine gebruikt zal worden.
Goede oplossing, erg recht toe recht aan.

Maar had dit nou niet al bij IE6 kunnen worden geintroduceerd?
Het is een aardige "workaround" voor ontwikelaars om er voor te zorgen dat hun site nu teminste op een windows systeem met IE8 er redelijk uit ziet...

Maar het zou veel beter wezen als MS zich eens gewoon zou houden aan de W3C standaard.

Niet alleen levert dit pagina's op zie in elke browser (nagenoeg) identiek zijn maar ook zorg ze ervoor dat ontwikkelaars geen rare workarounds meer hoeven te gebruiken.

En dat komt uiteraard de accessibility alleen maar te goede!!!

Overigens ben ik wel blij met de verbetering van de render engine niets dan goeds voor het verbeteren ervan echter MS had het internet al veel eerder serieus moeten gaan nemen en hun browser daar ook gerichter op moeten bouwen.

slightly offtopic:
Net als andere "web" software zoals webmail in exchange... iets wat nog steeds niet 100% werkt als je met een niet IE 5.5/6 browser je mail probeerd te lezen... erg jammer.
Waarbij ik uiteraard ook niet mag vergeten nog een sneer te geven aan het feit dat *.ics files ook nog steeds niet door outlook worden begrepen iets wat zo langzamerhand door alle andere agenda tools wel word begrepen...
Erg jammer. (lang leve iCal :P en Firebird :))
Ik vind het geen goede oplossing. De keuze van de renderingengine hoort niet bij de ontwikkelaar te liggen, maar bij de gebruiker.

Ik had het beter gevonden als ze bijvoorbeeld een probleemgeval automatisch hadden gedetecteerd en voorgesteld hadden aan de gebruiker om een oudere rendering-engine te gebruiken.

Ipv de standaard (weer eens) aan te passen aan hun browser, kunnen ze beter een keer hun browser aanpassen aan de standaard. Bijvoorbeeld door een intelligente detectie bijvoorbeeld dus, ipv het toevoegen van weer een custom tag.

[Reactie gewijzigd door Bosmonster op 22 januari 2008 16:00]

Niet helemaal mee eens.
Een ontwikkelaar maakt zijn software meestal voor een bepaalde versie.
Dus moet hij ook kunnen aangeven voor welke versie hij geschikt is.

Wel moet het mogelijk zijn om dit aan te passen (overrulen). B.v. voor sites die toch werken op een nieuwere versie, maar de ontwikkelaar heeft al tijden geen aanpassing gemaakt.
Als ik een site maak maak ik die voor _alle_ veelgebruikte browsers, niet alleen IE8. Hoe kan ik dan een site maken die onder IE7 en IE8 goed werkt als ik blijkbaar van MS een keuze moet gaan maken? Het concept van een browser-keuze tag is flawed imho.

Als ik dalijk een site moet maken voor IE6, 7 en 8 heb ik eigenlijk geen flauw idee hoe ik dat zou moeten doen met die tag. Moet ik hem dan maar maken voor IE6 en dan die tag toevoegen en hopen dat het goed gaat in IE7 (die die tag niet ondersteunt) en in IE8.

Ze lossen het probleem niet op, maar maken het eigenlijk alleen nog maar groter door weer een vreemde omweg te kiezen.

[Reactie gewijzigd door Bosmonster op 22 januari 2008 16:20]

Je geeft slechts aan in een IE8 tag dat de website onder IE8 via een bepaalde rendermethode gerenderd moet worden. Er wordt hier met geen woord gerept over het niet compatible maken met voorgaande browsers en browsers van derden. Het is dus een toevoeging niets meer.
Dus bestaande sites moeten hun site aanpassen op IE8, want ze moeten die tag toevoegen. Terwijl het voornaamste probleem juist is, oude sites die niet meer geupdate worden.

Paradox? Snap je nu waarom ik dit geen oplossing vind? Ze verwachten wederom dat mensen hun site gaan aanpassen aan hun browser, terwij juist DAT elke keer het probleem is met nieuwe Internet Explorers, dat mensen hun site ervoor moeten aanpassen.

[Reactie gewijzigd door Bosmonster op 22 januari 2008 16:24]

inderdaad... IE8 zal veel beter de W3C standaarden naleven, waardoor je voor IE8 geen workarounds nodig hebt zoals in IE6. Het probleem zit hem in de sites die geoptimaliseerd zijn voor IE6 en niet voor de W3C standaarden.

Het gaat hier helemaal niet over dat ontwikkelaars voor IE8 een aparte versie moeten maken, juist dat ze hun IE6 site ook goed kunnen laten zien op IE8 ALS ze daar de juiste meta tags bijzetten. Zoals bosmonster al zei, is dat geen oplossing, deze sites moeten niet die meta-tag gebruiken maar juist updaten naar een versie die correct de W3C implementeerd :) En dat dat niet gebeurt, kan mss nog elke andere browser iets aan doen...
Meta tags toevoegen of website laten herschrijven. Gezien jouw beoogde oplossing denk ik dat jij niet gaat over budgettering en of de bedrijfsfinancien.
Dus bestaande sites moeten hun site aanpassen op IE8, want ze moeten die tag toevoegen. Terwijl het voornaamste probleem juist is, oude sites die niet meer geupdate worden.
Nee, dat hoeven ze niet. Da's nu juist het mooie. Een oude webpagina zonder die tag wordt door IE8 gerenderd alsof hij in een vorige versie van IE geladen zou worden. Wanneer IE8 die tag wel ziet, zal het ervan uit gaan dat de HTML IE8-compatible is. Dus webpaginas hoeven niet (per se) aangepast te worden. Er wordt uiteraard wel aangeraden de HTML up-to-date te houden (dus ook volgens de W3C standaarden te werken) en dus niet met gedrochten als font en center te werken ;)

Ik ben er ook niet blij mee dat hier nu weer een 'nieuwe' tag voor uitgevonden wordt, maar het is beter dan wanneer er gekozen wordt om, net zoals bij IE7 het geval was, de huidige render-engine maar te laten blazen en verouderde webpaginas compleet kapot weer te geven.

[Reactie gewijzigd door Zyppora op 22 januari 2008 16:57]

Nee, dat hoeven ze niet. Da's nu juist het mooie. Een oude webpagina zonder die tag wordt door IE8 gerenderd alsof hij in een vorige versie van IE geladen zou worden....
Das eigenlijk nog erger. Dan ben je dus verplicht die tag toe te voegen. Maar als je je site maakt maak je hem voor zoveel mogelijk browsers/bezoekers, dus ook voor IE6/7. De mogelijke gevolgen? Er zijn er een aantal:

1. Dat niemand zn site IE8-compatible gaat maken en die tag gaat toevoegen, want dan werkt de site voor geen meter meer in IE6/7.
2. Dat je scriptjes gaat krijgen die afhankelijk van de gebruikte browser wel of geen tag gaan toevoegen oid :?
3. Andere workarounds die met tag de site toch goed renderen in IE6/7 of andersom, dus zonder tag toch goed werken in IE8. Weer meer workarounds en lelijke html/css dus.

Ik zie hier nog niks positiefs in eerlijk gezegd. De tag lost simpelweg het probleem niet op. Het is symptoombestrijding, die maar in zeer beperkte gevallen z'n nut zal kunnen bewijzen.

[Reactie gewijzigd door Bosmonster op 22 januari 2008 17:16]

Als we het alleen over websites hebben, dan wil ik je gelijk geven. Echter bij internet applicaties is het een wereld van verschil!

Bij de laatste definieer je minimale systeemeisen. En gebruik je IE8 specifieke functionaliteiten dan is een minimale systeemeis dus ook het gebruik van IE8.

Vind het ergens wel een prettig systeem.
@bosmonster
Ik zou me zo voor kunnen stellen dat de site standaard gerenderd wordt in de quircksmode als er geen doctype beschikbaar is, als er wel een doctype is op de juiste manier voor dat doctype en als de ontwikkelaar dat aangeeft op de IE7 manier (wat dat ook precies zijn moge). Zo ondervinden oude, niet geupdate sites geen problemen, omdat die nog steeds in quircksmode zitten en worden sites die zich wel aan de standaarden houden op de correcte manier verwerkt.
Als je niet voor ie8 (en opvolgers) weer je site wil moeten blijven fixen maak je dus in dit geval die meta-tag met specificatie dat je de IE7 engine wilt gebruiken. Hoef je verder niks aan te passen en is IE8 gewoon == IE7. Klaar.
Nee, je hoeft je in FireFox perfect renderende en W3C compliant pagina bij iedere nieuwe versie van IE steeds iets minder te verneuken om hem in de favoriete nitwitbrowser weer te laten geven.

En dat heet vooruitgang.
Een ontwikkelaar maakt zijn software meestal voor een bepaalde versie
En dat vind ik dus helemaal verkeerd. Een website hoor je niet te maken voor alleen IE, alleen Firefox, of alleen Safari (of welke andere browser dan ook).

Een site hoort in zoveel mogelijk browsers fatsoenlijk te werken... doet ie dat niet, dan ligt dat of aan de eigenaardige manier waarop IE websites rendert, of aan de luiheid/laksheid van de maker van de website. Als je een site gewoon volgens de standaarden maakt, en indien nodig voor IE specifieke CSS aanmaakt, dan moet dat gewoon prima te doen zijn.

Naar mijn inzien moet Microsoft eens ophouden met al die alternatieve rendermethodes, en gewoon zorgen dat ze een IE maken die zich netjes aan de standaarden houd en sites rendert zoals het hoort. Zitten er sites tussen die dan de fout in gaan, dan kan IE daar automatisch op reageren door een rendermethode van (bijvoorbeeld IE6) te gebruiken. Als sites browsers kunnen detecteren, dan moet het net zo goed mogelijk zijn voor een browser om browser-specifieke code te herkennen (zoals de specifieke IE-codes).
Als sites browsers kunnen detecteren
Maar dat kunnen ze dus niet.... ze kunnen alleen een educated-guess maken. En enkele vieze smerige trucs uithalen zodat de ene browser bepaalde code wel, en een andere die code niet ziet. (En dan vooral: de ene IE wel en andere IE niet, evenals alle concurrentie-browsers)
alkebah...

Als een paar "hobby programeurs" een browser met een render engine zoals in konqueror (KHTML voor degene die het intereseerd) kunnen maken waar de pro's van apple zeggen mwa... die willen wij wel gebruiken voor onze eigen webkit puur om het feit dat dat ding al zo goed inelkaar zit dat het zonde van onze tijd is om vanaf scratch een nieuwe te ontwikklen.
Plus het feit dat deze zo goed geschreven is dat hij toen al bijna en inmiddels aan alle eisen voldoet.

Dan zegt dat toch iets over de jongens bij MS...
Ook die hebben namelijk toegang tot die source en ook hun mogen die source gewoon gebruiken...
Overigens vind ik het pas echt verontrustend te moeten weten dat de IE5 voor Mac al een betere render engine had dan IE 5.5 en 6 voor PC... overigens is deze (helaas) nooit geport anders hadden we al veel eerder kunnen genieten van een betere IE...

IE8 doet nu teminste voor de eerste keer wat alle voorgaan de IE's ook hadden moeten doen... en dat is zich simpelweg aan de W3C standaard houden!!!

Hij komt gelukkig al door de ACID2 test... en dat is heel wat voor MS...
Een ontwikkelaar maakt zijn software meestal voor een bepaalde versie.
Dus moet hij ook kunnen aangeven voor welke versie hij geschikt is.
Ontwikkelaars zouden maar voor EEN versie moeten ontwikkelen, en dat is de W3C versie. Hoe MS het oplost dat alle brakke non-standard HTML nog enigzins bruikbaar wordt gerendered moeten ze zelf maar uitzoeken, ze hebben de situatie immers willens en wetens zelf geintroduceerd.

Ergens hoop ik dat ze heel, heel erg veel problemen krijgen met de support op alle versies van IE voor IE8. Eigen schuld, dikke bult. Misschien leren ze er van en proberen ze niet nog een keer zo'n grap uit te halen om vendor lock-in te creeeren.
MS heeft deze situatie helemaal niet zelg geïntroduceerd. In de oertijd hadden alle browser eigen tags om bepaalde zaken te doen, pas met de introductie van standaarden is daar grotendeels een einde aan gekomen, maar sindsdien hebben browserbouwers dan ook rekening moeten gaan houden met de standaarden.

Het enige waar MS schuldig aan is, is het te laat beginnen aan een w3c compliant rendering engine. IE7 had volledig met deze standaarden overweg moeten kunnen, ze hebben er allezins tijd genoeg voor gehad, maar het is slechts dankzij de tweede browseroorlog dat MS zich is gaan richten op standaarden. Bij de introductie van IE7 was reeds bekend dat deze niet volledig voldeed en dat IE8 beterschap zou brengen en dat paginas dus in alle 3 de versies anders gerenderd kunnen worden.

En uiteindelijk moet je als webdesigner ook al rekening houden met andere browsers. Ik heb ook al gehad dat bepaalde zaken anders uitpakken in Opera dan bijvoorbeeld in Firefox, en dan kan je opnieuw gaan zoeken naar hoe het dan wel moet of welke css hack je kan gebruiken om toch maar opera specifieke code erin te krijgen.
Je zegt het zelf al. Doordat na IE5 de ontwikkeling van IE zo'n 6 jaar totaal stilgelegen heeft omdat MS geen noodzaak zag om met de technologie mee te gaan zitten we nu met een internet dat nog voor een veel te groot gedeelte niet standards-compliant is. Voor Microsoft geen enkel probleem, omdat ze toch vrijwel de hele markt in handen hadden en op die manier voordeel konden halen uit hun eigen proprietary extensies. Pas toen het nodig was zijn ze in actie gekomen, en nog steeds lopen ze met elke IE versie achter de feiten aan. Dus wat mij betreft kan je best stellen dat MS willens en wetens de browsermarkt heeft gefrustreerd en nu (enigzins) met de gebakken peren zit om de boel nu *wel* goed te doen.

@Dlocks
Ik heb geen enkel probleem met een 100% W3C compliant IE8 die ook alle oude IE meuk kan renderen, zolang het maar geen gekke tags of andere inspanningen kost voor web developers. Dan is iedereen tevreden en is er geen enkele reden meer om niet volgens de standaarden te werken.

[Reactie gewijzigd door johnbetonschaar op 22 januari 2008 18:17]

Ontwikkelaars zouden maar voor EEN versie moeten ontwikkelen, en dat is de W3C versie.
Met als gevolg dat een website in ca 90% van de gevallen niet werkt zoals het zou moeten werken. Daar zitten opdrachtgevers, ontwikkelaars en bezoekers van een website echt niet op te wachten. W3C versie is eigenlijk geen optie. Beetje kip <-> ei probleem.

[Reactie gewijzigd door Dlocks op 22 januari 2008 17:49]

Het is geen kip of ei verhaal.
Ontwikkellaars moeten is site ontwerpen volgens een standaard (W3C), geen taaltje van een fabriekant die het bij elke versie wijzigd.

Als een website(W3C) dan niet werkt is de schuld van MS niet van de ontwikkelaars!!!

MICROSOFT houdt zich niet aan de standaarden.

Er is een simple oplossing kies bv Firefox ipv de MS IE
Ik zou het graag met je eens zijn JJMa.
Echter dan drop je het probleem wat MS veroorzaakt heeft bij de gebruiker.
Voor jou en mij zal het geen enkel probleem zijn om een andere browser te nemen die wel een render engine bevat die W3C standaard rendert.

Echter voor de "gemiddelde" gebruiker is dat een ver van zijn bed show die zal liever gewoon bij "zijn" vertrouwde IE blijven en die verwacht ook dat elke website het gewoon doet in IE.
Niet een geheel onterechte verwachting uiteraard.

En ja uiteraard ben ik het met je eens dat MS er voor moet zorgen dat ze zich aan de W3C standaard moeten gaan houden.
Dat zou gewoon beter zijn voor iedereen en dan zijn dit soort discussies compleet overbodig.
Nee, ik zie mijn ouders al telkens die keuze moeten maken.
Ik denk dat je beslissingen op basis van achterliggende techniek niet aan doorsnee gebruikers voor moet schotelen, dan kan ik dat als ontwikkelaar toch beter beslissen.
Standaard wordt de laatste (IE8) rendertool gebruikt.
Indien een site een oudere versie nodig heeft, moet de site dit aangeven via meta tags.
Dit is transparant voor de gebruiker. Die krijgt gewoon een normaal werkende pagina te zien.
Voor de tweakers en/of experts, zal er waarschijnlijk wel een optie komen om die oudere rendering uit te schakelen.

Dus de noobs zullen niets merken qua render engines. Die maken zich daar niet druk om, die zien alleen het scherm.
Standaard wordt de laatste (IE8) rendertool gebruikt.
Indien een site een oudere versie nodig heeft, moet de site dit aangeven via meta tags.
Hoevaak moet dit nog herhaalt worden hier? Standaard word de IE7 render-engine gebruikt. De meta-tag zul je zelf toe moeten voegen om IE8 standards-mode te activeren.
Ja kunt de keuze ook automatiseren natuurlijk, je hoeft er geen popup voor te geven elke keer. En het is maar een idee, ik zeg ook niet dat dat de ultieme oplossing is, maar in ieder geval beter dan weer een custom tag.
Dat is echt een verschikkelijke oplossing, IE is gemaakt voor domme mensen, die weten niet eens wat een render-engine is. laat staan waarom ze welke moeten kiezen. Bovendien is het bij 99% van de wereld i.c.m. een computer toch gewoonte geworden om overal klakkeloos "Ja" te klikken (dank u Microsoft).
Ik geloof dat je de problematiek niet helemaal begrijpt en vandaar ook deze oplossing afwijst.
Juist het backward compatible zijn met het merendeel van de webpaginas op het www is een eis die je aan een browser moet stellen. Niet zozeer de aanbevelingen van w3c maar de defacxto toegepaste uitvoeringen bepalen hoe men met het web omgaat.

Door deze oplossing is het ook gemakkelijk om wel volgensnu gangbare normen te creeren dus op termijn sterft dan de overlast uit terwijl in de tussentijd er een goed ewerkende oplossing is.
In principe moet je als ontwikkelaar de standaarden volgen wil je dat je webpagina overal goed gelezen kan worden. Als je als browser ontwikkelaar de standaarden niet volgt dan zou je failliet moeten gaan, niet een defacto standaard forceren.
Ja, maar een 5 jaar oude website voldoet niet meer aan de standaarden van nu.
Er zijn nog redelijk veel sites die niet meer bijgewerkt worden.

Nu kun je nog vrij makkelijk op de server instellen dat hij die meta tag moet meesturen (mits in eigen beheer). Dus zodoende is het voor oude applicaties/sites nog mogelijk om goed weergegeven te worden. Ookal zijn ze verouderd en voldoen niet meer aan de standaarden van nu. Terwijl het vroeger misschien valide W3C compliant sites waren.

Denk maar aan de nieuwe HTML5 draft, waar er nieuwe tags inkomen en de FONT tags verdwijnen.
Maar als je een correct doctype meegeeft, voldoet het nog steeds aan de standaarden hoor. Als ik als doctype HTML4 meegeef aan een HTML4 compliante website, voldoet het over 10 jaar nog steeds een de HTML4 standaard. Alleen kan die standaard misschien niet meer gerendered worden omdat die verouderd is, maar de standaard zelf is niet veranderd. Conclusie: ik heb nog steeds een perfect W3C compliante website.
al maak je een nieuwe site hoef je niks te doen en gebruik je IE8 default renderingmethode.

echter al heb je nou een wat oudere website die geoptimailiseerd is voor IE6 dan kies je dus de IE6 rendering methode. doe je dat niet dan schopt IE8 alles door de war.

een hele mooie oplossing dus imho ;)
Better nog kunnnen ze die nu niet gewoon even in IE7 er nog bij stoppen?
Klinkt goed, maar IE die de firefox engine gebruikt klinkt twijfelachtig? Wat is de bron van dit bericht behalve "stappel_"?
Betrouwbare bronnen zijn een post op Microsofts IE blog of een vandaag gepubliceerd artikel op A List Apart.

Daar wordt overigens niet gezegd dat je IE8 ook gebruik kan laten maken van de Firefox engine, maar dat het een mogelijkheid zou kunnen zijn om ook andere engines te ondersteunen waarbij de tag iets van
<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />
wordt :)

[Reactie gewijzigd door Zoefff op 22 januari 2008 15:58]

Dit heeft een interessant voordeel voor webdevelopers dat je in theorie je site gewoon kunt testen in de huidge versies en die compatiblity tag erin zet en dan bij nieuwe versies van willkeurige browsers niet hoeft te controleren of de site het nog steeds doet.

Je hoeft dus dan nog maar tegen hoogstens 1 versie van een browser te testen.
volgens mij is dat een fictief voorbeeld. In theorie zou je tegen IE8 kunnen zeggen: doe eens firefox. Ik denk echter niet dat Microsoft Gecko in zal bouwen in IE8. (mogen ze licentietechnisch niet eens volgens mij).
dacht het toch van wel, FF is opensource en zolang MS dan het gedeelte van de door hun gebruikte FF rendering engine vrijgeeft is er niets aan de hand..
je hebt een punt, ze hoeven de sourcecode niet eens terug te geven, als ze zich aan de MPL houden. Da's een BSD style license en vergt dus geen 'teruggave' effort, ze mogen alleen niet claimen dat ze het zelf gemaakt hebben. Maar daar heeft Microsoft al lang ervaring mee, en zich ook netjes aan gehouden, toen ze FreeBSD code in windows opnamen.

Ik zat in eerste instantie in GPL te denken. In dat geval zou Microsoft niet kunnen doen wat jij voorstelt, maar zouden ze de LGPL nodig hebben.

[Reactie gewijzigd door arjankoole op 22 januari 2008 20:01]

Ik zou het persoonlijk fantastisch vinden dat IE Gecko inbouwt. Poef , geen gezeik meer om sites compatibel te maken voor IE.

Enkel testen in FireFox wordt genoeg..
Idd als dat echt kan weet ik al wat ik ga doen:

Servertje in een datacentrum hangen en een proxy op draaien die alle sites van de gebruik firefox rendering engine tag voorziet en alle mensen waarvoor ik hun pc's moet configgen onderhouden er achter hangen :+

Maar alle gekheid op een stokkie ik hoop echt dat ze de boel straks netjes op orde hebben zodat als ie7 uitgefaseerd is je alleen nog rekening hoeft te houden met browsers die zich allemaal vrij netjes aan de standaarden houden.

edit: en laten we hopen dattie naar ie8-standards mode default.

[Reactie gewijzigd door martijnve op 22 januari 2008 15:52]

edit: en laten we hopen dattie naar ie8-standards mode default.
Dan was de meta-tag niet nodig geweest. Dat doetie dus zeker niet. Want dan 'breekt het web' volgens MS, waarbij ze vergeten dat het web allang gebroken is.

[Reactie gewijzigd door JanDM op 22 januari 2008 16:09]

Dat zal hij waarschijnlijk wél doen.
Standaard het nieuwste en foutieve sites het probleem laten oplossen met die nieuwe meta-tag.

Als ze dat niet doen, dan wordt MS weer scheef aangekeken, omdat ze speciaal een tag eisen die niet bij de andere browsers nodig is. En dus extra werk om het (weer) compliant te maken.
Dat zal hij waarschijnlijk wél doen.
Standaard het nieuwste en foutieve sites het probleem laten oplossen met die nieuwe meta-tag.
Bron? Wat ik lees op het IE-blog:
1. “Quirks mode” remains the same, and compatible with current content.
2. “Standards mode” remains the same as IE7, and compatible with current content.
3. If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element. Aaron gives more details on this in his article.
Standaard dus IE7-mode. Reacties als die van jou geven wel aan hoe onlogisch deze beslissing van MS is, als iedereen het verkeerd opvat...

[Reactie gewijzigd door JanDM op 22 januari 2008 16:56]

Many of those sites had been “opted in” to standards mode by a tool that generated their content; many of them had probably been hand-coded by someone who was trying to do the right thing, and make their HTML code valid according to the W3C. Regardless, users of those sites expected them to keep working the same, even when they downloaded a new version of IE. Unfortunately, that didn’t happen.

But wait, a lot of people say at this point, why isn’t this a problem for Firefox, or Safari, or any other browser? The answer is that developers of many sites had worked around many of the shortcomings or outright errors in IE6, and now expected IE7 to work just like IE6.
Jaja er zijn heel veel developers die zouden willen dat alles nog steeds zo werkt als in IE6....

Ik snap echt niet bij wie dat ze die mening gepeild hebben, vrijwel alle professionals denken volgens mij anders maar goed.
"expected" niet "wanted"

Subtiel verschil maar wel belangrijk.

Webdevelopers die ontwikkelde voor IE6 ontwikkelde zijn er toen der tijd van uit gegaan dat alle toekomstige IE versies de zelfde eigenaardigeheden zouden hebben als IE6. Browser sniffers checken typisch de browser en versie nummer. Als je met IEx (x>=6) de site bezoekt krijg je de code voor IE6.

Op zich niet raar. Echter bij IE7 (en zo meteen 8) krijgje waarschijnlijk een beter resultaat met de code voor Firefox!
Dus als ik het goed begrijp moet straks elke webpagina een speciale tag voor IE hebben om aan te geven voor welke versie het is? Zodat-ie het goed kan rederen?

Het lijkt me bespottelijk. Browsers als Firefox en Safari renderen gewoon volgens standaard, en slechts heel uitzonderlijk op niet dezelfde manier. Maar je kan in elk geval eigenlijk altijd dezelfde tags en waarden gebruiken. Beetje sneu dat IE wéér iets speciaals vereist. Als het zo moeilijk is, stop dan met die kansloze browser.

Of begin totaal opnieuw. Maak een browser die alle voorgaande versies kan vervangen. Die zich netjes aan standaarden houdt, en doe je stinkende best om alle gebruikers van oude browsers de nieuwe te laten gebruiken.

Kiezen welke rendermethode een pagina gebruikt is niet handig. Alle pagina;s moeten ondersteund worden voor dezelfde. Pas dan weet je dat een pagina in alle (goede) browsers te openen is.

[Reactie gewijzigd door t-h op 22 januari 2008 15:51]

je begrijpt et verkeerd: standaard zal hij met de IE8 enginge draaien, tenzij de meta tag is opgegeven ;)
uit 't IEBlog artikel:
If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element. Aaron gives more details on this in his article.
Zoals ik 't lees moet je dus een tag opnemen om met de IE8 engine te renderen :?
lijkt mij erg onlogisch en ook niet wat ze zouden willen ;)
Je splinternieuwe auto staat dus standaard ingesteld als een tweedehandsje (versleten zittingen, versleten koppakking, versleten banden, lekker losse koppeling)...

Dit lijkt me een geval van je gezicht redden. Aan de andere kant past dit ook in de MS-aanpak van 'backwards compatible'.
OF standaard staat je auto in de eerste (IE7) versnelling, mits je hem in een hogere versnelling (IE8) zet.
Ja, dat klinkt allemaal wel leuk en aardig, maar uiteindelijk had IE nooit van de standaard af mogen wijken. Dat is nu eenmaal wel gebeurd, en dan is dit helemaal nog niet zo'n slechte oplossing. Wat ik me afvraag is hoe het in de praktijk gaat werken. IE en windows sowieso is al niet erg zuinig met RAM, en als ik nou 3 tabs open heb die allemaal verschillende renderengines hebben, dan worden die allemaal in het geheugen geladen en zit je met veel overhead.

En overigens zijn de andere browsers ook niet helemaal hetzelfde, firefox wordt wel gezien als "het alternatief" maar op bijvoorbeeld opera is net zo goed alles te doen, en je komt wel degelijk verschillen tegen.

En het is helemaal niet zo onhandig om een pagina snel aan te passen en een kleine tag erin te zetten die ervoor zorgt dat die er altijd goed uitziet, dan dat een oude pagina die jaren geleden is ontworpen compleet herschreven moet worden!
Ik denk dat er staat dat de "luie" ontwikkelaar een rendermethode moet toevoegen om in native IE6 modus te draaien.

Dit systeem is enkel ontwikkeld om ondersteuning te blijven bieden voor sites die in IE6 geschreven zijn. Bedrijven zullen hier helemaal warm voor worden hoor (neem bvb interne webapplicaties die enkel voor IE6 geschreven zijn)

De mensen die alles ontwikkelen volgens standaarden hoeven niets aan te passen.
Helaas, IE8 zal als IE7 draaien, tenzij je opgeeft dat je IE8 wil hebben als render-engine... en dit dus tot het einde der dagen.

IE6-only sites vallen toch al buiten de boot, want Vista kent helemaal geen IE6. En als we kijken naar een looptijd van ~ 5 jaar, dan kan deze methode geen stand houden; moeten we zometeen voor elke browserversie gaan aanvinken dat de site daarmee samenwerkt? Hoe groot wordt IE zometeen wel niet bij IE9 met 3 verschillende renderengines?
Ik ben het helemaal met je eens, maar daar is de consument wel bij gebaat maar Microsoft niet. Dus gaat het niet gebeuren.
Erg slecht!!!
Ze bijten zichzelf in de staart omdat ze voorheen het internet hebben gesaboteerd met met hun browser. Een webbrowser moet gewoon trachten 100% aan de standaarden te voldoen, dan heeft niemand een probleem en kan iedereen crossbrowser compatible ontwikkelen.
Ik weet niet hoe jou geschiedkundige kennis is, maar de browsers waren er eerder dan de standaarden.

Waarom passen de standaarden zich dan niet aan naar de browsers?
Dat gebeurd ook :) Zo stapt HTML5 bijvoorbeeld af van SGML als basis omdat geen enkele browservendor HTML als SGML-applicatie heeft geimplementeerd.
Ook nieuwe features vinden doorgaans hun oorsprong in non-standard (propietaire) technologieën die later gestandaardiseerd worden (denk aan XHR).

Echter op het moment dat we met z'n allen een standaard hebben opgesteld (bedenk daarbij dat de meeste browservendors, MS incluis, daaraan meewerken) dan is het een beetje raar als 1 partij zegt default voor z'n eigen non-standaard implementatie te kiezen en zich pas te confirmeren aan de gemaakte afspraken als de webbouwer iets extra's doet (wat ook in geen enkele standaard beschreven staat). Dat is de wereld op z'n kop.
Het wordt dus hetzelfde trucje als dat je kunt uitvoeren in firefox mbv de addon IETAB.
Hiermee laad je de pagina in de Firfox omgeving met de ie-engine.

Maar het vreemde is dat MS tegemoet wil komen aan de gebruiker en de standaard van W3C, en meteen valt iedereen erover dat ze dit doen.

Geef ze een compliment dat ze eindelijk gaan werken met de standaarden.

En ze komen meteen tegemoet aan de ontwikkelaars die niet gelijk hun website hoeven te herschrijven.
Zo kunnen ze rustig toe werken naar een nieuwe zonder dat daar druk van een browser achter zit.
Onkunde en gebrek aan kennis zijn slechte raadgevers. Soms slaan de hormonen toe als men het woord Microsoft leest en dan zijn argumenten ver te zoeken.

Wat jou opmerking betreft, ik geloof niet dat het hetzelfd werkt asls de IETAB. Daarmee neem je daadwerkelijk een andere renderengine terwijl IE8 kennelijk alleen de rendermethodiek aanpast aan de tag. Dat laatste is natuurlijk wel afhankelijk van de beschikbare renderengines op de client.
mwah, zoals ik in mijn post hierboven ook al aangeef. Als je dit op je blog post (dat developers dus eigenlijk wilden dat alles bleef werken met de hacks) dan heb je er volgens mij maar zeer weinig kaas van gegeten. Dit is gewoon de enige manier om hun huidige rendermethode te kunnen ondersteunen. Voor ontwikkelaars wordt het zoveel makkelijker als alle browsers uitgaan van dezelfde richtlijnen...
browsers kunnen natuurlijk nooit uitgaan van ""standaarden"" die later ontwikkeld zijn. backward compatible zijn is dus een eis! dat doen ze op deze manier op een goede wijze.

Als alle browsers zich vanaf het begin aan afspraken hadden gehouden was deze situatie niet ontstaan. Netscape was echter de uitvinder van workarounds en de concurrent kon niet achterblijven (IE) maar deed dat gewoon beter. Standaarden zijn pas later gekomen dus je moet niet zeuren over oude engines die zaken niet aankunnen. dat is logisch!
IEtab schakelt naar de renderengine van de IE op je computer. Heb jij IE7 op je computer rendert hij IE7, heb jij IE6 op je computer dan rendert hij IE6.

Maar de add-on die wel volgens hetzelfde principe werkt is useragentswitcher. Alleen is de gebruiker dan diegene die de useragent kiest en niet de webdeveloper.
Maar het vreemde is dat MS tegemoet wil komen aan de gebruiker en de standaard van W3C, en meteen valt iedereen erover dat ze dit doen.
Het probleem is niet dat ze aan de standaard willen voldoen, het probleem is de manier waarop ze dit doen.

Dat MSIE beter wordt is toe te juichen, de manier waarop dit gebeurt is een ander verhaal. Jammer dat men niet kiest voor een benadering waarbij men ervoor zorgt dat patches in websites voor IE-oud een extra tag nodig hebben.

Nog beter had geweest dat men eerder begonnen had aan betere standaards ondersteuning, maar beter laat dan nooit. Nu nog leren dat anno 2008 het uitvinden van eigen tags niet erg hot is... :)
Wat een ellende, zitten we jarenlang vast aan een extra html-tag voor 1 browser :|

Elke site zal dus vanaf de komst van IE8 zowaar moeten "melden" dat de site ook onder IE8 draait. Apart dat geen enkele andere browser dit probleem heeft...

Zie ook...
http://annevankesteren.nl/2008/01/ie-lock-in
http://weblogs.mozillazin...hives/2008/01/post_2.html
http://weblogs.mozillazin...8/01/slipping_the_ba.html

[Reactie gewijzigd door chem op 22 januari 2008 15:55]

zoals gezegd: dit is verkeerd begrepen:
IE8 = standaard
IE6/7 mode kan je aangeven met de speciale Meta tag
Moet je de blog post toch eens goed lezen.

Standaard zal IE8 renderen als IE7 tenzij je anders aangeeft met de metatag.

Dit is op zich logisch omdat anders met de introductie van IE8 weer de helft van de websites niet goed in IE8 renderen omdat ze zodra ze IE detecteren allerlei workarounds toe gaan passen die niet meer in IE8 werken.

De oplossing is op zich niet zo dom. Het zou alleen wel fijn zijn als centraal als standaard in gevoerd zou worden. (overigens is de oplossing niet in strijd met de huidige standaarden, dit is namelijk precies de soort toepassing waarvoor meta tags bedacht zijn.)
we ended up with a <meta>-based “opt-in to the browser version I tested with” strategy
Bron: http://blogs.msdn.com/ie/...ompatibility-and-ie8.aspx

Hoe dat je er dus bijkomt dat dit verkeerd begrepen is, dat snap ik dan even niet.
Het is dus:
  • Alle non-IE browsers: standaard (met doctype danwel)
  • IE 8: standaard, maar dan meta tag nodig.
Je mag het opgeven, het is niet verplicht én een browser kan de meta-tags die niet voor hem bedoeld zijn gewoon negeren.
Nee als de site onder IE8 werkt dan hoef je dat niet te melden, echter wanneer de site in IE8 kapot zou gaan (omdat die beter is met de standaarden) dan kan je dus in de meta-tag aangeven dat je wil dat IE8 de rendering van IE6 neemt en op die manier de pagina rendert.

-sorry ik heb het fout. Wordt hier toch wel pissig van hoor, hebben ze kans om het web te fixen, blijven ze bij een oude kutbrowser als IE7 hangen.

[Reactie gewijzigd door Ramon op 22 januari 2008 17:04]

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True