Avatar billede emileej Nybegynder
29. december 2000 - 21:26 Der 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

E-)mil
Avatar billede spiri Nybegynder
29. december 2000 - 22:45 #1
Der står noget her du måske kan bruge:
http://www.php.net/manual/html/function.get-browser.html

Jeg kan nu ikke selv få det til at virke.

Avatar billede emileej Nybegynder
30. december 2000 - 15:11 #2
Hmmmm...

Ser meget godt ud, men jeg kan heller ikke få det til, at virke....

E-(mil
Avatar billede jd Nybegynder
30. december 2000 - 21:51 #3
Jeg må indrømme at jeg aldrig har prøvet at lege med browscap.ini (som jo skal bruges) men hvad er problemet?
Avatar billede emileej Nybegynder
30. december 2000 - 22:03 #4
>>jd
Jeg skal bruge php til at checke om klienten har JS... :)

E-)mil
Avatar billede emileej Nybegynder
30. december 2000 - 22:05 #5
Problemet med eksemplet er, at output bliver:

<html>
<body>
<hr>
<b>0:</b> \'\'<br>
</body>
</html>

:(

E-)mil
Avatar billede jd Nybegynder
30. december 2000 - 22:13 #6
Det er jo ikke det jeg spørger om... hvorfor virker get_browser() ikke? Kan du ikke få sat browscaå.ini op, eller hvad?
Avatar billede emileej Nybegynder
30. december 2000 - 22:19 #7
Jeg er ikke så stærk i ... well i en skid, og fatter minus af det med \"browsercap.ini\", eller hvad det nu var den hed...  :)

E-)mil
Avatar billede jd Nybegynder
30. december 2000 - 22:27 #8
Her står hvordan du aktiverer browscap.ini...

http://php.net/manual/configuration.php#ini.sect.browscap
Avatar billede jd Nybegynder
30. december 2000 - 22:30 #9
... og når det så spiller, kan du få at vide om brugeren browser understøtter javascript således:

<?
$browser = get_browser();
if($browser->javascript)
echo \"Din browser understøtter javascript\";
?>
Avatar billede emileej Nybegynder
30. december 2000 - 22:33 #10
Jeg har fattet dit script, men jeg er stadigt lige vidt, med browsercap.ini

E-/mil
Avatar billede jd Nybegynder
30. december 2000 - 22:46 #11
Hvis du ikke har browscap.ini-filen, kan du finde den her:

http://www.cyscape.com/asp/browscap/

Med ovenstående link + det jeg gav lige før ang. installationen, kan jeg ikke hjælpe mere så længe du bare siger \"kan ik\"...
Avatar billede emileej Nybegynder
30. december 2000 - 22:54 #12
Jeg havde ikke fattet, at filen ikke fulgte med til php...

Derfor ku jeg ikke :)

E-)mil

(downloader)
Avatar billede jd Nybegynder
30. december 2000 - 22:58 #13
emileej-> Den følger med php-4.0.4 ved jeg.... men hvis du kører en ældre version, så må du nok hente den, ja!
Avatar billede emileej Nybegynder
30. december 2000 - 22:59 #14
Skal jeg downloade det, der hedder browserhawk eller hvad (det er jo kun en evaluation)?

...Nå men jeg går i seng - er tilbage i morgen :)

E-)mil
Avatar billede emileej Nybegynder
30. december 2000 - 23:03 #15
he he...

du kom før mig, jeg downloader og prøver imorgen...

E-)mil
Avatar billede emileej Nybegynder
31. december 2000 - 13:21 #16
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>

E-(mil
Avatar billede emileej Nybegynder
31. december 2000 - 15:49 #17
Jubiii!

Har fået flere point til dette spm.

E-)mil
Avatar billede jd Nybegynder
31. december 2000 - 15:55 #18
Hvad du du gjort for at få browscap.ini til at virke? -jeg ved at det skal slåes til i php.ini...

Har du prøvet med det eks. jeg kom med før?
Avatar billede emileej Nybegynder
31. december 2000 - 16:19 #19
Phptest.php (min fil):

<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)...

E-)mil
Avatar billede jd Nybegynder
31. december 2000 - 16:27 #20
Prøv lige at læs mit svar 30/12 2000 22:27:34 !!!

Måske er det nok at aktivere den i php.ini,(kig selv!) men du bliver nok nødt til at læse dig frem til det på den adresse jeg postede!
Avatar billede emileej Nybegynder
01. januar 2001 - 15:21 #21
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]
browscap    =    C:\\WINNT\\system32\\inetsrv\\browscap.ini

Phptest.php er den samme, og output er også det samme. Jeg har genstartet computeren 3 gange, uden resultat...

Godt nytår :)

E-)mil
Avatar billede jd Nybegynder
01. januar 2001 - 16:02 #22
Ja, godt nytår!

...bare et gæt, men måske skal du ikke angive den fulde sti?
Avatar billede emileej Nybegynder
01. januar 2001 - 16:37 #23
Hmm...

Prøver lige...

E-)mil
Avatar billede emileej Nybegynder
01. januar 2001 - 17:15 #24
Æv!

Det virker ikke!

E-(mil
Avatar billede amfelt Nybegynder
02. januar 2001 - 14:04 #25
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
Avatar billede emileej Nybegynder
02. januar 2001 - 16:07 #26
Kategori Programmering: PHP

:)
Avatar billede amfelt Nybegynder
02. januar 2001 - 16:09 #27
Du kan ikke gøre det med ren PHP, da browscap er noget skod. derfor mit oftopic indslag.

amfelt
Avatar billede emileej Nybegynder
03. januar 2001 - 17:51 #28
Jammen hvis brugeren ikke kan køre JS, hvad fa\'en ska\' jeg så bruge et javascript til?

E-/mil
Avatar billede jd Nybegynder
03. januar 2001 - 18:00 #29
hehe... godt tænkt amfelt!!! *LOL*

Et javascript til at tjekke om brugerens browser understøtter javascript .... *GGG*

(ku\' ik la\' vær\' :)
Avatar billede emileej Nybegynder
14. januar 2001 - 22:34 #30
Tja... ;o)
Avatar billede amfelt Nybegynder
15. januar 2001 - 09:32 #31
Ja ja nu har jeg forstået ! I behøver ikke blve ved !!!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester