foutopsporingsdienst
Hoi ecross,
hoe krijg je het voor elkaar?! (serieuze vraag)
Ha,
bug-hunten? De enige echte
oorzaak van een probleem vaststellen?
Ik kwam er achter via de "
uitschakel-methode":
- De pagina is opgebouwd uit <div>'s.
- Eerst alle andere <div>'s uitschakelen dan de <div> die het probleemgedrag vertoont.
- Dat kan heel eenvoudig door tijdelijk in de css van een <div> op te nemen: #naamdiv { display: none; }; of tijdelijk in de html: <div id="naamdiv" style="display: none;">. - Zie ook hier.
- Als het nu al fout gaat, zit het in de css van de probleem-<div> zelf.
- Als het nu goed gaat, zit het in één of meer (of een combinatie) van de andere <div>'s.
- Dus ga je om de beurt de andere <div>'s weer inschakelen.
- Zodra het probleem zich weer voordoet, weet je in welke hoek je het moet zoeken.
Het komt er dus op neer, dat je alles uitschakelt wat geen invloed op het probleem heeft. Je krijgt dan twee pagina's met het geïsoleerde probleem: één pagina waarin het
probleem zich
net niet voordoet, en één pagina waarin het
probleem zich
net wel voordoet.
- Het kan dan niet anders, dan dat het probleem zit in het verschil tussen die twee pagina's.

- Volgende stap is dus het analyseren van waar precies de verschillen tussen die twee pagina's zitten.
- Heb je die verschillen, dan kan je weer volgens de uitschakel-methode kijken of een verschil van invloed is op het probleem. - Zie ook hier.
- Zo nee, dan moet het iets anders zijn > volgende verschil, enz.
- En zo ja: dan heb je de oorzaak van het probleem te pakken. En meestal is de oplossing dan ook dichtbij.
En als je geen oplossing kunt vinden, weet je precies waar je op moet Google'en om te zien wat anderen voor oplossingen hebben gevonden.
Want zeker als het gaat om een verschil in pagina-resultaat tussen "echte browsers" en (een versie van) Internet Explorer: de kans is aanzienlijk groter dan nul, dat ook anderen tegen hetzelfde probleem zijn opgelopen.
Het aardige van de uitschakel-methode is, dat deze altijd werkt.
Met vriendelijke groet,
CSShunter
PS:
Voor oplossingen van problemen met Internet Explorer (en ook wel met andere browsers): 10 tegen 1 dat het niet alleen het probleem uitgebreid uit de doeken wordt gedaan in
PIE :: Position is Everything, maar dat daarin ook de oplossing staat (bv. op
deze of
deze pagina).
[edit]Ik heb hier <div> gebruikt voor iets dat een probleem veroorzaakt. Maar het kan natuurlijk net zo goed een ander element op de pagina zijn. Dan werkt het op dezelfde manier: je gaat steeds van "grof" (grote brokken uitschakelen) naar "fijnregeling" = details opsporen als je weet in welk brok iets zit.[/edit]