jshint.com als debugtool voor JavaScript in Internet Explorer 9

Afgelopen week was ik een PHP web applicatie aan het testen in Internet Explorer 9. Het bleek dat bepaalde functionaliteit geschreven in JavaScript niet juist werkte terwijl dat in de de laatste versie van Internet Explorer wel juist werkte. Met de web developer toolbar open op het tabje console heb ik vervolgens de applicatie getest en kwam ik uit op de onderstaande foutmelding:

SCRIPT5038: Receclaration of const property

Er werd verwezen naar regel 2 teken 2 in een specifiek Javascript bestand. In dat bestand stond op regel 1 commentaar en op regel 2 de declaratie van een functie en dus geen constanten of variabele declaratie. In het bestand stonden drie functies. Het verwijderen van alle functies loste het probleem op, maar die functies waren wel nodig voor het functioneren van de web applicatie dus dit was niet echt een oplossing.

Na wat zoeken op internet bleek dat de regelverwijzing niet altijd juist werd bepaald door Internet Explorer 9 en dat het ook gerust een andere regel zou kunnen zijn. Ik heb toen regel voor regel de code nagelezen maar geen namen gevonden die al reeds gebruikt werden.

Als test heb ik het complete script in de website www.jshint.com geplaatst en die een analyse uit laten voeren. Deze website analyseert je code, geeft parameters aan, fouten en hoe complex je code is. De conclusie was dat het woord “screen”, dat als variabele werd gebruikt om daar een functie aan te koppelen, al gebruikt wordt door JavaScript zelf in Internet Explorer 9. De foutmelding was dus legitiem en het aanpassen van het woord “screen” naar iets anders loste het probleem meteen op.

Wanneer het woord screen wordt ingevoerd in de console krijg je een object als resultaat terug. Hetzelfde resultaat wordt getoond in Chrome. Alleen mag je in Chrome dit object vervangen met iets anders zonder dat er een foutmelding wordt getoond. Internet Explorer 9 is gewoon iets kritischer.

Zonder de analyse van www.jshint.com had ik waarschijnlijk nooit het probleem gevonden. Echt de moeite waard om deze website eens te bezoeken en te gebruiken tijdens ontwikkeling.

jshint.com screenshot

Laat een reactie achter

Your email address will not be published. Required fields are marked *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.