Alle web-gerelateerde onderwerpen...

X-UA-MakeCompatible

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

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...

Duur JavaScript

Door Little Penguin op dinsdag 21 juli 2009 21:06 - Reacties (14)
Categorie: WWW, Views: 5.043

Ik ben geen fan van JavaScript als het echt niet nodig is, denk daarbij bijvoorbeeld aan interfaces van een ADSL-modem, routers en dergelijke. Er is niets op tegen om JavaScript als een hulpmiddel te gebruiken, maar in principe moet je met een browser zonder JavaScript-ondersteuning dit soort apparaten gewoon kunnen configureren.

Als je dan al JavaScript gebruikt, maak dan wel gebruik van de standaard API's, zoals het Document Object Model van het W3C. Een fabrikant van hardware deed dit echter niet en had zelfs een erg dure blunder gemaakt, door nu net Opera als browser uit te sluiten.


JavaScript:
1
2
3
4
if (is.opera)
{
window.location.href="config/error.htm";
}


Bron:http://my.opera.com/hallvors/blog/2009/07/20/most-expensive-javascript-ever

Het gevolg van deze regel in de web-admin interface van die server die men als demo-machine op proef had, dat was dat men bij dat bedrijf dus geen bestelling geplaatst heeft. :D

(Mijn) moraal: Als je anno 2009 nog aan browser-sniffing doet, dan hoor je niet thuis op deze planeet...
Edit: Er zijn uitzonderingen, zoals crisp ook aangeeft - ik bedoel dan ook met name het totaal uitsluiten van bepaalde browsers of het (op deze manier) aanbieden van een half-toegankelijke site...

paint.canvas

Door Little Penguin op maandag 29 juni 2009 23:24 - Reacties (15)
Categorie: WWW, Views: 6.404

Tijdens het speuren naar de diverse mogelijkheden van canvas kwam ik een grappig voorbeeld tegen van de implementatie van het canvas-element. Dat ging namelijk om een gedeeltelijke herimplementatie van de mogelijkheden van Microsoft's mspaint.exe in een cross-browser canvas-implementatie (waarbij ironisch genoeg Microsoft Internet Explorer nu net het canvas-element niet ondersteund). Deze implementatie gaat door het leven onder de heel erg creatieve naam 'CanvasPaint'

Overigens zijn niet alle mogelijkheden van MS-paint geimplementeerd, zo is het bijvoorbeeld niet mogelijk om een tekst in de tekening te plaatsen. Deze mogelijkheid wordt ook nog maar recent door een aantal browsers ondersteund...

Hieronder een schermafbeelding van de site in actie:
http://tweakers.net/ext/f/V5kqREhteQ693bQMO4R8xYZF/full.png

Aangezien dit meer een real world example is, kan het doorspitten van de code wat tijd kosten. Er zijn echter ook diverse voorbeelden van het gebruik van het canvas-element, die een stuk toegankelijker zijn: Zoals het artikel 'Creating an HTML 5 canvas painting application' op de Dev.Opera site.

Voor de tweakers die zelf aan de slag willen met het canvas-element, tot slot nog een hele handig cheat sheet waarop een groot deel van de mogelijk JavaScript methodes terug te vinden zijn - in de blogpost wordt zowel een PDF-, als ook een PNG-versie aangeboden, dus moet er altijd wel één te gebruiken zijn... 8-)

P.S. En als je nog niet genoeg van tekenen/ontwikkelen gekregen hebt: PaintWeb

Microsoft, Windows, IE en integratie

Door Little Penguin op vrijdag 12 juni 2009 22:19 - Reacties (21)
Categorie: WWW, Views: 2.453

Goed, een dag werken zonder internet en dan de mooie kans om je lekker te roeren in een discussie over de koppeling van Internet Explorer met MS-Windows, goed waarom dan niet toch een blogje aanmaken? Ik heb ten slotte karma genoeg :) - en tegen ruim 600 en 300 reacties nog gaan reageren is wel erg overtrokken.

Als je dan leest dat Microsoft Internet Explorer verwijderd uit MS-Windows 7, dan zou je toch op het eerste gezicht moeten denken dat de Europese Comissie daar heel tevreden over zou moeten zijn, of niet dan? Nu mis ik direct een financieel verschil tussen die versie met en zonder Internet Explorer, maar goed.

Later lees ik echter op tweakers.net dan de EC daar echter helemaal niet zo blij mee is, ik heb nog geen reactie van Microsoft gelezen maar ik ben heel benieuwd war Microsoft daar nu weer van vindt...

Goed, de discussie over het wel of niet onderdeel van een modern besturingssysteem zijn van een browser ga ik niet overdoen - je kunt beide argumenten verdedigen en het is maar net hoe je tegen een besturingssysteem aankijkt welk standpunt je inneemt - en mijn mening daarover kun je wel destilleren uit mijn eerdere reacties over dit onderwerp. 8-)

Toch wil ik nog wel even het volgende kwijt, namelijk het feit dat je nergens leest dat die MS-Windows met minder features ook minder (laten we zeggen 5-15 EUR) hoeft te kosten. Microsoft heeft ten slotte ook minder werk aan zo'n Windows zonder Internet Explorer, een hele serie patches voor de front-end code hoef je namelijk niet te leveren aan die gebruikers. En zeker als je andere zaken als Windows Mail, Windows Media Player en dergelijke niet mee levert en alleen een "kaal" besturingssysteem levert heb je veel minder omkijken naar het patchen van deze MS-Windows-7N verder (al was het alleen maar de mindere bandbreedte voro de benodigde updates).

Dat was ook het hele probleem van alle -N versies van MS-Windows. Die waren gewoon niet interessant omdat de prijs hetzelfde was als een volledige versie van MS-Windows...

Nog een kleine aanvulling in de vorm van een link naar een bericht op de blog van Mitchell Baker van Mozilla: Windows 7 Without IE - waarin een heel interessant punt genoemd wordt...

(de subtitel zegt het al, ik verwacht niet iedere dag een berichtje te plaatsen, maar voor de rest: Hartelijk Welkom om mijn kleine weblog...)