Avatar billede b_ Nybegynder
14. maj 2006 - 16:23 Der er 11 kommentarer og
1 løsning

Tjekke om JS er slået til i browseren.

Hejsa,

Jeg vil gerne lige for en sikkerheds skyld tjekke om mine brugers browser har slået JS til. Ved ikke helt hvordan jeg skal gøre det uden om JS.
Siden er hovedsagligt programmeret i PHP, så det ville være dejligt hvis det kunne lade sig gøre via PHP.

Hilfe
Avatar billede thesurfer Nybegynder
14. maj 2006 - 17:18 #1
Hmm.. det nemmeste er nok det her:

<noscript>
<meta http-equiv="refresh" content=";url=http://www.server.dk/js.php?javascript=nej">
</noscript>

Så kan du bruge $_GET['javascript'] til at fange værdien..
Hvis værdien er "nej", kan du sætte en cookie..
Avatar billede thesurfer Nybegynder
14. maj 2006 - 17:19 #2
PS:
Det der står mellem <noscript> og </noscript> bliver KUN afvikles, hvis JavaScript er slået FRA.
Avatar billede olebole Juniormester
14. maj 2006 - 17:32 #3
<ole>

thesurfer >> Nej, den er ikke valid. noscript-elementer må ikke forekomme i head-elementet - og meta-elementer må ikke forekomme udenfor ... så deeeeeeet ........  :)

/mvh
</bole>
Avatar billede olebole Juniormester
14. maj 2006 - 17:34 #4
- og noscript-elemeter kan i øvrigt kun indeholde renderbart indhold iform af block-elementer
Avatar billede thesurfer Nybegynder
14. maj 2006 - 17:40 #5
Nå....
:-)
Avatar billede b_ Nybegynder
14. maj 2006 - 19:00 #6
Har du ikke et andet foreslag så, Ole? Eller nogen af jer andre kloge hoveder ;)
Avatar billede olebole Juniormester
14. maj 2006 - 19:33 #7
Du kan f.eks. sætte en cookie på klienten og se, om du kan aflæse den med PHP næste gang, browseren forespørger serveren. Hvis du kan, er JS enabled - hvis ikke, er det disabled.
Du har ingen mulighed for at vide, om JS er enabled i browseren, første gang den rammer sitet ... du er nødt til at teste i browseren  :)
Avatar billede b_ Nybegynder
14. maj 2006 - 23:12 #8
Og hvordan gøres det i praktisk forstand? Er der ikke andre muligheder?
Avatar billede b_ Nybegynder
16. maj 2006 - 11:18 #9
Lukker og slukker
Avatar billede thesurfer Nybegynder
16. maj 2006 - 12:38 #10
Hmm.. Du kunne jo nøjes med at fortælle brugeren, at din side kræver java script:

<noscript>
Denne side kræver at JavaScript er slået til, for at fungerer 100%.
Visse funktioner virker ikke, med mindre at JavaScript er slået til.
</noscript>

Du kunne også bare lave en:

<script type="text/JavaScript">
window.location.href='js.php?js=yep';
</script>

Så kan du på PHP siden (via "js" parameteren til "js.php") sætte en session eller en cookie..
Avatar billede thesurfer Nybegynder
16. maj 2006 - 12:42 #11
Eksempel:

<?php
hvis eksisterer_cookie("js_enabled") er falsk
{
?>

<script type="text/JavaScript">
window.location.href='js.php?js=yep';
</script>

<?php
}
?>

På den måde, vil den altid indesætte scriptet, hvis cookies ikke findes, hvilket betyder at JavaScript endnu ikke har været aktiveret..

Så snart at JavaScript bliver aktiveret (og siden loades), loades js.php som sætter cookien, hvilket betyder at scriptet ikke længere bliver sat ind..

Egentlig burde man altid checke om JavaScript er enabled, da man kan disable JavaScript midt i det hele..
Avatar billede thesurfer Nybegynder
16. maj 2006 - 12:42 #12
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