Avatar billede avminarm Juniormester
20. februar 2004 - 10:48 Der er 14 kommentarer og
1 løsning

Browserens bredde og højde i PHP-vars

Hej eksperter

Jeg har efterhånden surfet rund på nettet for at finde ud af hvordan jeg finder et browservindues højde og bredde (OBS ikke brugerens skærmopløsning - der skal gerne tages højde for diverse sidebars og toolbars som folk kunne finde på at hav liggende).

Jeg har kunnet finde noget forskelligt f.eks.:
bredde = screen.availWidth;

man jeg kan ikke rigtig få noget til at hænge sammen ;o(

Hvis en venlig sjæl kunne konstruere et eller andet der "propper" værdier for højde og bredde ind i PHP variabler og bar e echo'er dem ud - ville jeg blive meget glad ;o)
Avatar billede Slettet bruger
20. februar 2004 - 10:54 #1
Du kan kun flytte JS variabler > PHP ved enten at reloade siden eller sende værdierne til en anden PHP fil, der så kan returnere den/udskrive den.
Avatar billede Slettet bruger
20. februar 2004 - 10:57 #2
Et eksempel på dette er det her:

<script type="text/javascript">
bredde = screen.availWidth;
document.write('<img src="test.php?foo=' + bredde + '">')
</script>

I test.php kan du så fange foo med $_GET['foo'] og bruge variablen herovre.

I hvilken forbindelse skal du bruge højde/bredde?
Avatar billede Slettet bruger
20. februar 2004 - 11:07 #3
Du kan finde vinduets indre tilgængelige bredde med document.body.clientHeight
Avatar billede Slettet bruger
20. februar 2004 - 11:08 #4
Du kan finde vinduets indre tilgængelige HØJDE med document.body.clientHeight

;)
Avatar billede avminarm Juniormester
20. februar 2004 - 11:12 #5
PHP delen kan jeg sagtens overskue, men kan man ikke kalde javascriptet via PHP og på den måde få værdie ind i en PHP variabel

er: screen.availWidth lig med browservinduets indre bredde?? og document.body.clientHeight lig med indre højde??
Avatar billede Slettet bruger
20. februar 2004 - 11:17 #6
Nej det kan du ikke, eftersom PHP afvikles på serveren, og JS på klienten.

Så når JS får regnet ud hvad skærmens bredde er, er PHP allerede færdig og har sendt siden til dig.

Det er derfor du er nødt til at sende værdien retur til serveren for at kunne bruge den i PHP sammenhæng.
Avatar billede avminarm Juniormester
20. februar 2004 - 11:26 #7
mit tillægs sprg om "screen.availWidth" ??

Men hvad nu hvis man øverst i PHP dokumentet kalder javascriptet og længere nede gemmer vars'ne - hmmm nok noget sludder !!!
Avatar billede Slettet bruger
20. februar 2004 - 11:36 #8
Jamen det kan du ikke, uanset hvor langt ned du propper din PHP :)

Siden sendes jo ikke til klienten før alt er afviklet.

Hvad mener du med "mit tillægs sprg om "screen.availWidth" ??"
Avatar billede avminarm Juniormester
20. februar 2004 - 13:26 #9
er: screen.availWidth lig med browservinduets indre bredde?? og document.body.clientHeight lig med indre højde??

:o)
Avatar billede Slettet bruger
20. februar 2004 - 14:35 #10
screen.availWidth er skærmens opløsning (den plads som vinduet har adgang til)
document.body.clientWidth er browservinduets indre bredde (body elementets bredde)

:)
Avatar billede Slettet bruger
20. februar 2004 - 14:35 #11
det samme gælder naturligvis for hhv. availHeight og clientHeight
Avatar billede avminarm Juniormester
21. februar 2004 - 22:23 #12
ok - takker - smid et svar for points
Avatar billede avminarm Juniormester
29. februar 2004 - 12:17 #13
halooo - points du - ka du sååå smide et svar ;o)
Avatar billede Slettet bruger
29. februar 2004 - 18:48 #14
sry ;)

Her er et svar, håber du fandt ud af det. Ellers må du jo sige til!
Avatar billede avminarm Juniormester
29. februar 2004 - 21:05 #15
jo - jeg fandt da uf af at jeg nok ikke kan lave det helt som jeg gerne ville, men det er jo en udfordring ;o) - tak for hjælpen.
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
Kurser inden for grundlæggende programmering

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