29. december 2000 - 21:26Der er
30 kommentarer og 1 løsning
Check for JavaScript med php...
Jeg skal på min site have lavet en helt masse JavaScript, hvilket det (stadigt væk - tro det eller ej) ikke er alle browsere der understøtter fuldt ud.
Jeg havde så tænkt mig at et php script skulle checke om brugeren havde JavaScript plugin\'en, og så redirecte den til JavaScript siten, eller en fejlside - alt efter resultatet af testen.
Jeg kan desværre ikke diske op med flere point, som i nok kan se nedenfor.
Min statestik:
Brugernavn emileej Point 3 Point ude 191 Placering 16465
Jeg har indstalleret php 4.04 (eller hvad den nyeste nu hedder), og kørt test scriptet fra beskrivelsen af get-browser i php manualen...
Nu er output:
<html> <body> Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)<hr> <br> <b>Warning</b>: Undefined variable: str in <b>c:\\inetpub\\scripts\\phptest.php</b> on line <b>6</b><br> <b>0:</b> \'\'<br> </body> </html>
<html> <body> <table border=\"1\" cellpadding=\"0\" cellspacing=\"2\"> <tr> <td>Php eksempel fra php.net</td> </tr> <tr> <td><?php function list_array ($array) { while (list ($key, $value) = each ($array)) { $str .= \"<b>$key:</b> \'$value\'<br>\\n\"; } return $str; } echo \"$HTTP_USER_AGENT<hr>\\n\"; $browser = get_browser(); echo list_array ((array) $browser); ?></td> </tr> <tr> <td>Php eksempel fra jd</td> </tr> <tr> <td><?php $browser = get_browser(); if($browser->javascript) echo \"Din browser understøtter javascript\"; ?></td> </tr> </table> </body> </html>
Output:
<html> <body> <table border=\"1\" cellpadding=\"0\" cellspacing=\"2\"> <tr> <td>Php eksempel fra php.net</td> </tr> <tr> <td>Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)<hr> <br> <b>Warning</b>: Undefined variable: str in <b>c:\\inetpub\\scripts\\phptest.php</b> on line <b>11</b><br> <b>0:</b> \'\'<br> </td> </tr> <tr> <td>Php eksempel fra jd</td> </tr> <tr> <td></td> </tr> </table> </body> </html>
:)
Hvad er det med at slå browsercap.ini til? Jeg troede bare, at den var implementeret i php sourcekoden (jeg har ikke gjort andet end, at indstallere php)...
Jeg kunne ikke finde noget på den url om aktivering af browsercap.ini, men kikkede i stedet i php.ini og fandt linien, hvor stien til browsercap.ini var opgivet. Så søgte jeg efter filen, og opgav stien til den i php.ini - således:
Browscap.ini er noget skod !!! Jeg har set flere større fimares website gå ned nå de begynder at lege med browscap. Desuden så findes der i den nyeste browscap.ini ikke informationer om NS 4.73 og op efter eller andre sjove specilebrowsere. ej heller IE 5.5 er med. så havd skal man bruge den til. Nå den ikke kan find de nyeste browsere. Med den følgende kod kan du både se efter JS og kager.. redirect må du selv klare... det er trods alt kun 20 point...
<script Language=\"JavaScript\"> <!-- hide script from non compliant broswers
//first, calculate an expiration for your temporary test cookie var oneDay= 1*24*60*60*1000; var expDate = new Date(); expDate.setTime (expDate.getTime() + oneDay); var cookieExpires = expDate.toGMTString(); //just for completeness, get the browser information document.write(\"Your browser is: <b>\", navigator.appName,\"</b><BR>\"); document.write(\"Version: <b>\",navigator.appVersion,\"</b><BR>\"); //set your temprorary cookie document.cookie=\"verifyCookie=test; expires=\"+cookieExpires //check to see if ANY cookies exist, including the one you just set if (document.cookie.length>0) document.write(\"Your browser supports cookies.<BR><BR>\"); else { document.write(\"Your browser doesn\'t support cookies, \") document.write(\"or they\'re currently disabled.<BR><BR>\"); document.write(document.cookie.substring(0,document.cookie.length)+\"<BR><BR>\"); } //now be a good Netizen and clear out the unwanted stuff document.cookie=\"verifyCookie=CLEAR; expires=Sun, 09-Nov-97 01:00:00 GMT\"; //--> </script> mvh amfelt
Ja ja nu har jeg forstået ! I behøver ikke blve ved !!!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.