Avatar billede mik789 Nybegynder
13. september 2002 - 18:05 Der er 8 kommentarer og
2 løsninger

skærmopløsning

Kan php tjekke for brugerens skærmopløsning? F.eks. hvis denne skulle indgå i requesten fra brugerens browser?
Avatar billede gizmo-gizmo Nybegynder
13. september 2002 - 18:12 #1
nej, det skal gøres med javascript.
Avatar billede mik789 Nybegynder
13. september 2002 - 18:13 #2
tænkte det nok, det ville ellers have været smart.
Avatar billede Slettet bruger
13. september 2002 - 19:46 #3
Her er JavaScriptet sammen med PHP:


<html>

<head>

<script language='javascript'>

//opera Netscape 6 Netscape 4x Mozilla
if (window.innerWidth || window.innerHeight){
docwidth = window.innerWidth;
docheight = window.innerHeight;
}
//IE Mozilla
if (document.body.clientWidth || document.body.clientHeight){
docwidth = document.body.clientWidth;
docheight = document.body.clientHeight;
}

</script>

<script language='javascript'>

function sendvar() {
    var foo1 = docwidth;
    var foo2 = docheight;
    document.write("<img width='1' height='1' src='reciever.php?foo1=" + foo1 + "&foo2=" + foo2 +'>");
}

</script>
</head>

<body>

<script language='javascript'>
sendvar();
</script>

</body>

</html>

På reciever.php har man så $foo1 = foo1 og kan gøre med data som man lyster.
Hvis man er lidt omhyggelig lader man så iøvrigt reciever.php retunere en 1 px. transparent gif el. lign.
Avatar billede gizmo-gizmo Nybegynder
13. september 2002 - 20:08 #4
el_barto >> kan man ikke bare gøre noget i retning af:

<?php
$oploesning = "<sciprt>getvar();</script>";
?>

?
Avatar billede mik789 Nybegynder
13. september 2002 - 20:29 #5
el barto> jeg behøver ikke at få at vide hvilken opløsning folk bruger, jeg skal bare redirecte dem (eller ændre dokumentet) alt efter om de bruger 800x600- eller 1024x768+.

Det gør jeg nu med:
<script type="text/javascript">
if (screen.width<=800) window.location='minfil800x600.html';
</script>

- men jeg tænkte at hvis det kunne gøres med php kunne man nøjes med en include() i det samme dokument (og en anden include() for 1024x768) - altså enten include det ene eller det andet i det SAMME dokument i stedet for at redirecte, hvis du forstår...
Avatar billede bottiger Nybegynder
13. september 2002 - 21:54 #6
gizmo-gizmo << nej, og det er da også ret logisk når man tænker over det.
javascript er jo klientsprog, og vil derfor først blive defineret, når html-joden har nået klienten, og dermed er uden for serveren rækkevide.

Hvis du vil indsamle brugerens skærmopløsning, farvedybte osv skal du bruge et javascript til at finde dem. Når scriptet har fundet dem, skal det så loade et billede med en query-string.
billedet er imidlertid ikke noget billede, men et phpscript, som nu kan tage query-stringen, og gemme dataen i en database.

Jeg er pt. igang med at lave et statestikscript, og til det bruger jeg følgende javascript, som indsamler reference, url, opløsning og farvedybte, og giver derefter billedet størrelsen 0 så man ikke kan se det. (for eller ville der jo bare komme en fejl, da den i virkeligheden ikke loader et billede.)

<script language="JavaScript">
    var script_url = "http://localhost/php/stat.php";
    var url        = document.location;
    var ref        = ""+escape(top.document.referrer);
    var col        = window.screen.colorDepth;
    var res        = window.screen.width + "x" + window.screen.height;
    document.write("<img src='" + script_url + "?url=" + url + "&ref" + ref + "&res=" + res + "&col=" + col + "' border=0 width='0' height='0'>");
</script>
<noscript>
<img scr="http://localhost/php/stat.php" border="0" width="0" height="0">
</noscript>


Pyha, det var vist lidt kompliceret, håber i forstår
Avatar billede bottiger Nybegynder
13. september 2002 - 21:58 #7
damn, så fik jeg vist lige gentaget hvad el_barto havde sagt ;)
Avatar billede mik789 Nybegynder
13. september 2002 - 23:20 #8
ok, så det samme må kunne gøres i min situation: hente brugerens skærmopløsning, sende værdierne med en url tilbage til samme side, og derefter forme det med include() alt efter opløsningen, og på den måde undgå at redirecte.
Avatar billede mik789 Nybegynder
14. september 2002 - 08:36 #9
el_barto, bottiger> læg lige et svar så deler I alle tre pointene
Avatar billede Slettet bruger
14. september 2002 - 11:43 #10
:)
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