PHP Javascript Detectie
Introductie
Met PHP Javascript Detect detecteert PHP of javascript uitgevoerd wordt op de client. Het is een oplossing voor PHP programmeurs. Als javascript gedetecteerd is de client kun je een javascript-enhanced versie van je webpagina presenteren. Als javascript niet gedetecteerd is presenteer je de standaard PHP/HTML versie van je pagina.
PHP Javascript Detect is schoon en lightweight.
Hoe werkt het
1. jsdectect.js: een javascriptje dat een stylesheet opvraagt. Alleen als javascript uitgevoerd wordt op de client zal de stylesheet opgevraagd worden.
2. jsdetect.php: een stylesheet bestand. Het bestand bevat geen stijlen, maar als het opgevraagd wordt zal het een SESSIE variabele aanmaken. De SESSIE variabele bestaat dus alleen als javascript wordt uitgevoerd op de client.
Beperkingen
1. Javascript wordt gedetecteerd bij het opvragen van de eerste pagina. Bij het genereren van de eerste pagina is dus nog niet bekend of javascript wel of niet ondersteund wordt. Deze informatie is wel beschikbaar bij elke volgende pagina.
2. PHP Javascript Detect vereist cookies, omdat het werkt met de $_SESSIE["jsdetect"] variabele. Als dit een beperking is, kun je zelf een andere PHP oplossing bouwen.
3. Er wordt niet gedetecteerd dat een bezoeker halverwege zijn bezoek zijn javascript uitzet. De SESSIE variabele blijft dan gewoon bestaan. Deze situatie komt echter nagenoeg nooit voor.
Wat je moet doen
1. Plaats jsdetect.js en jsdetect.php in de webroot van het site.
2. Plaats <script type="text/javascript" src="jsdetect.js"></script> in de head van je webpagina's.
3. Plaats <?php session_start(); ?> bovenaan elke webpagina. Zorg ervoor dat er helemaal niets voor deze code staat.
4. Indien javascript gedetecteerd is zal $_SESSIE["jsdetect"] de waarde TRUE hebben en anders zal de variabele niet bestaan.
5. Voorbeeld gebruik: <?php if ( $_SESSIE["jsdetect"] ) { echo("PHP heeft javascript gedetecteerd."); } ?>
Demo
Zorg dat je javascript aan hebt staan en ga naar de pagina. Ververs de pagina, er wordt nu weergegeven dat javascript detecteert is. Een negatieve test: zet javascript uit in je browser. Sluit alle browser vensters (om de sessie te beeindigen). Ga opnieuw naar de pagina en ververs. Javascript wordt nu niet meer gedetecteerd, omdat het niet aan staat in de browser. jsdetect demo
Download
Het kost niets en mag vrij gebruikt/aangepast worden. jsdetect.rar