Er komt een moment in het leven van elke ontwikkelaar waarin we het ondenkbare moeten doen: open Internet Explorer. Maar als we Windows niet gebruiken, waar kunnen we het dan vinden? O ja, dat klopt, IE werkt niet op OS X.
We kunnen misschien een service gebruiken zoals BrowserStack, wat erg goed is, maar ik merk dat er altijd een beetje vertraging is en wie geld wil uitgeven aan het testen van Internet Explorer? Als alternatief kunnen we opnieuw maken wat BrowserStack op uw eigen computer doet.
Allereerst moeten we VirtualBox voor OS X-hosts downloaden. VirtualBox is een programma waarmee u virtuele computers kunt maken op elk besturingssysteem dat u op dit moment gebruikt. Dit betekent dat als je een Windows XP-CD hebt liggen, je op je internet zou kunnen surfen gastheer machine (OS X) en hebben een venster geopend waarop Windows XP op de achtergrond wordt uitgevoerd (uw gast machine).
Het is goed als je geen Windows CD hebt liggen. Microsoft heeft wederom (IE hacks, voorwaardelijke opmerkingen) rekening gehouden met hun browser-uniek-en heeft demo-exemplaren van hun besturingssysteem uitgebracht samen met elke versie van Internet Explorer helemaal terug naar IE6 op een site met de naam modern.ie, zodat ontwerpers 'virtuele machines' (VM's) kunnen opzetten om hun websites te testen op.
Nu kun je ofwel het semi-pijnlijke proces doorlopen om al deze virtuele machines te downloaden van de moderne website, ze vervolgens te installeren of je kunt gebruik maken van een echt handig GitHub-project genaamd ievms. Type curl -s https://raw.githubusercontent.com/xdissent/ievms/master/ievms.sh | bash
in uw terminal en wacht. Na enkele minuten kunt u VirtualBox openen en alle VM's die u hebt geïnstalleerd zullen daar staan, klaar om u te "starten".
Perfect!
Nu is er het probleem van het daadwerkelijk openen van bestanden die op uw hostcomputer staan. U kunt bijvoorbeeld niet alleen typen file: ///Users/cory/Desktop/foo/index.html in Internet Explorer op uw gastmachine en verwacht dat het weet waar dat is.
Om dit te doen, moeten we een localhost-ontwikkelserver opzetten en ik heb gemerkt dat de eenvoudigste manier om dit te doen CD
naar uw project vanuit Terminal en typ vervolgens: python -m SimpleHTTPServer
. Open nu localhost: 8000 op uw hostcomputer (OS X) en u kunt uw site bekijken. Probeer het in IE op uw gastmachine echter, en het zal niet werken - waarom ?! Je gastmachine heeft geen Python waarop die server draait. Gelukkig kun je het vervangen localhost: 8000 met http://10.0.2.2:8000 en alles zal werken.
Het is u misschien wel bekend dat IE (met name oudere versies van IE) in vergelijking met Chrome met de DevTools bleken, maar als u naar Firebug Lite zoekt en de bookmarklet voor uw Favorieten bar in IE, dan heb je dat op zijn minst sommige een soort debugging tot je beschikking.
Wanneer u uw VM sluit, kunt u "Apparaatstatus opslaan" (waarbij elk geopend venster wordt opgeslagen zoals u het hebt achtergelaten) of de VM daadwerkelijk uitschakelt.
Ik heb zeker ontdekt dat dit de snelste en meest effectieve manier is om Internet Explorer te testen op OS X. Als een traktatie (en jezelf uitdagen) nu je bekend bent met VirtualBox, probeer er een werkende kopie van Ubuntu op te zetten en aan het sleutelen. Veel plezier!