X-UA-MakeCompatible

Door Little Penguin op woensdag 23 september 2009 00:00 - Reacties (7)
Categorie: WWW, Views: 6.439

Met de introductie van Internet Explorer 8 heeft Microsoft een nieuwe feature toegevoegd, namelijk de HTTP-header 'X-UA-Compatible'. Met deze header, waarvan overigens geadviseerd wordt om deze via het meta-element toe te voegen aan de broncode van de website, is het voor een webontwikkelaar mogelijk om de compatibiliteit van een site vast te pinnen op IE7 of om aan te geven dat de site altijd compatible is met de laatste versie van IE. (Naar mijn mening is deze HTTP-header niet direct een zegen voor het web of een webontwikkelaar die zich primair op de ontwikkeling van W3C-compliant websites toelegd - ik ben daar overigens niet de enige in, tweakers.net developer crisp heeft inmiddels ook het één en ander geschreven over deze header).

Wat men bij Microsoft niet voorzien had, dat is dat ook andere browserontwikkelaars wel eens van dez HTTP-header gebruik zou kunnen gaan maken. Er is wel gezinspeeld op gebruik van deze constructie door derden in hun eigen browser, maar dat is niet gebeurt.

Hoewel...
http://tweakers.net/ext/f/nzNtsjlvrBRAzEtDA9PNZEcH/full.png
Ziet dat er niet verdacht veel uit als IE, en is dat niet de CanvasPaint-site waar ik eerder over geblogd heb?

Deze constructie wordt nu ineens gepromoot door Google, maar dan niet om een bepaalde IE-versie te forceren. Nee, zij hebben gezocht naar een andere toepassing. Google zou Google niet zijn als zij deze toepassing ook niet zouden vinden:

HTML:
1
<meta http-equiv="X-UA-Compatible" content="chrome=1">



Op het eerste gezicht is er niets bijzonders aan dit stukje code te zien, maar er is wel degelijk een uitzonderlijke toepassing aanwezig. Deze code is namelijk helemaal niet bedoeld voor de Google Chrome browser, de code is namelijk bedoelt om gebruikt te worden in Internet Explorer. Nu is het niet mogelijk om met 1 regel een compleet andere render-engine in te bouwen, deze regel wordt dan ook geparst door recent uitgebracht beta-product van Google: Google Chrome Frame.

Met Google Chrome Frame, is het mogelijk om binnen de gebruikersinterface van IE één (of meerdere) tabs te hebben die gebruik maken van de Google Chrome technieken (WebKit+V8). Voor de gebruiker blijft het aanvoelen als de browser die men gewend geworden is, maar onderhuids is het voor de getoonde pagina veranderd in een moderne browser die (onder andere) voorzien is van ondersteuning voor SVG, het canvas-element en een sneller JavaScript-engine. Op de Google Chrome Frame ontwikkelsite staat overigens ook nog eens uitgelegd hoe men zo gebruiksvriendelijk mogelijk deze uitbreiding kan laten installeren.

Op dit moment zijn er nog diverse bekende kevers in de uitbreiding aanwezig, maar ik ga er vanuit dat deze snel geplet zullen worden. (Zo maakt men gebruik van de netwerk stack van de geopende IE, hetgeen mogelijk voor issues kan zorgen en verder zijn er wat kleine onvolkomenheden met downloaden via Google Chrome Frame. Ook is het nog niet mogelijk om te printen vanuit deze uitbreiding. Ook is het zinvol om IE na de installatie eerst te herstarten, anders werkt de meta-constructie niet - dit geldt in elk geval zeker voor IE7 en deze beta-versie).

In hoeverre men het voor elkaar krijgt om het aantal systemen waar de Flash-plugin op geïnstalleerd staat te evenaren is nog lastig te voorspellen. Google heeft wel een enorm bereik, maar of men gebruikers ook aan kan zetten tot het installeren van een extra uitbreiding is nog de vraag. Een snelle download-ervaring is dan wel belangrijk en men zal dus in de buurt moeten zien te komen van de 2MB die nodig is voor de Flash-plugin...

Verder is de uitbreiding alleen beschikbaar voor Internet Explorer, een groot probleem hoeft dit overigens niet te zijn, de andere 'grote' browsers (Mozilla Firefox, Opera, Apple Safari) hebben namelijk wel ondersteuning voor de genoemde technieken.

N.B. Zoals uit de screenshot te zien is, kun je het renderen door Google Chrome Frame ook forceren door cf: voor de URL te plaatsen - erg handig voor snel even testen van...

Volgende: iPad reader 01-'10 iPad reader
Volgende: Duur JavaScript 07-'09 Duur JavaScript

Reacties


Door Tweakers user sanderev66, woensdag 23 september 2009 09:16

Google begint een beetje patserig te doen met hun browser. Ik vind gChrome helemaal niet zo goed als iedereen zegt. (Veels te weinig features)

Gelukkig maken ze niet de fout die FireFox maakt: met te veel mogelijkheden.

Eigenlijk is er maar 1 fatsoenlijke browser op dit moment: Opera. Snel, 100/100 op acid 3, perfect acid 2, html 5 ondersteuning, svg ondersteuning, canvas ondersteuning, etc.

Door Tweakers user Little Penguin, woensdag 23 september 2009 09:58

Google begint een beetje patserig te doen met hun browser. Ik vind gChrome helemaal niet zo goed als iedereen zegt.
Dat is jouw goed recht, maar in verhouding tot Internet Explorer is er voor een web-ontwikkelaar wel degelijk een wereld van verschil. Bij Google heeft men blijkbaar het idee dat gebruikers sneller een extensie/plugin voor de browser selecteren, dan dat ze daadwerkelijk van browser switchen. Om dat gat op te vullen expirimenteerd men nu met Google Chrome Frame.
Gelukkig maken ze niet de fout die FireFox maakt: met te veel mogelijkheden.
Sinds wanneer heeft Firefox te veel mogelijkheden? Noem eens 10 opties van Fx die 100% overbodig zijn?
Eigenlijk is er maar 1 fatsoenlijke browser op dit moment: Opera. Snel, 100/100 op acid 3, perfect acid 2, html 5 ondersteuning, svg ondersteuning, canvas ondersteuning, etc.
Je spreekt jezelf tegen, Opera bevat namelijk meer features dan Firefox. Verder is ze ook heel erg standards-compliant, dat is ook waar. Maar op het moment dat je het succes van een browser afleid van het weinige aantal features, dan zou Opera juist slechter moeten zijn...

Door Tweakers user sanderev66, woensdag 23 september 2009 10:10

Hier staan enkele duizenden firefox features die te veel zijn:
https://addons.mozilla.org/nl/firefox/

Opera biedt idd een ingebouwde chat, mail en bittorrent client, maar die zie je niet als je ze niet gebruikt. Het is voor een browsermaker belangrijk om te overwegen welke functies er in een browser thuishoren en welke niet. Opera doet dit perfect, FireFox is bloatware en gChrome kan net te weinig.

Door Tweakers user prutsger, woensdag 23 september 2009 10:31

Hier staan enkele duizenden firefox features die te veel zijn:
https://addons.mozilla.org/nl/firefox/
Dat vind ik dus geen goed voorbeeld. Deze features zitten er standaard niet in, zijn zelfs standaard niet meegeleverd. Zodra je iets mist installeer je er een add-on voor. Pas dan wordt de browser wellicht bloated en traag, maar daar kies je dan bewust zelf voor.

Aldus een Opera gebruiker.

Door Jeroen, woensdag 23 september 2009 17:20

... maar daar kies je dan bewust zelf voor.
Dat betwijfel ik in vele gevallen. Het is hem ook hoe dat het hele systeem in elkaar zit en de snelheid en nog zovele factoren die bepalen wat een browser 'goed' maakt. Ik ben een Opera gebruiker, al had ik graag de render snelheid van Chrome gehad.

Firefox is volgens mij een beetje overrated, een standards-compliant en open source browser die ongeveer gelijk staat met IE8. Deze laatste twee spreken toch het merendeel van de internetters aan, wat volgens mij duidt op een sterke marketing.

Door stelt, woensdag 23 september 2009 17:25

Zo wordt de druk op MS alleen maar groter om IE een goede update te geven qua ondersteuning open webstandaarden. MS sponsort trouwens de SVG wereldconferentie: http://svgopen.org

Door Tweakers user Little Penguin, woensdag 23 september 2009 18:50

@Hierboven: Zullen we het er maar op houden dat iedere browser zo z'n voor en nadelen heeft en dat iedereen vrij is om te kiezen?

@stelt:
Op het moment dat de oplossing van Google Chrome Frame een installed base van meer dan 50% krijgt is de kans inderdaad groot dat Microsoft zowel de HTML5 features canvas, video en audio zal gaan ondersteunen en ook SVG in IE zal implementeren. Men zal niet het risico willen lopen dat men slechts een schil is rond een render engine waar men geen controle meer op uit kan oefenen...

Reageren is niet meer mogelijk