Avatar billede gil-galad Nybegynder
15. februar 2004 - 22:31 Der er 20 kommentarer og
1 løsning

hvis sreenheight = 800 gå til side med noget i post headeren

jeg skal bruge et script som sender en bruger vidre til en anden side med en værdi (800) i post headeren, eller hvad det nu hedder.


sådan noget her, som bare virker:
if (screenheight = 800){
window.location.replace("skifter.php");
OG POST("800");
}
else{}
Avatar billede roenving Novice
15. februar 2004 - 22:42 #1
Post-headeren ?-)

if(screen.availHeight<=800){
  location.replace('skifter.php?size=800');
}
Avatar billede gil-galad Nybegynder
15. februar 2004 - 22:44 #2
er posteren?... hmmm tester lige :-)
Avatar billede gil-galad Nybegynder
15. februar 2004 - 22:50 #3
hmm jeg bruger 1024*768 men bliver alligeel sendt vidre.
og det er nok ikke den. idéen er nemmerli'at hvis man bruger 800*600 så skifter den selv en tak ned. (se menuen til højre her: http://spiff.users.whitehat.dk )
men den form jeg bruger står der method="post"  men det virker ikke rigtigt
Avatar billede roenving Novice
15. februar 2004 - 23:01 #4
Så er din height jo også mindre end 800 (768 pixel for at være helt nøjagtig !-)

-- men så skal den jo hedde:

if(screen.availHeight<=600){
  location.replace('skifter.php?size=600');
}

-- og så bruger jeg med vilje availHeight, som returnerer det, som er tilbage til almindelige windowed applikationer (dvs. en evt. proceslinje i bunden er trukket fra !-), men du kan også bruge screen.height ...
Avatar billede gil-galad Nybegynder
15. februar 2004 - 23:03 #5
ok, så sender den ikke vidre, men hvis jeg køre 800*600 så vil den ikke registere det :-(
Avatar billede gil-galad Nybegynder
15. februar 2004 - 23:04 #6
man kan ikke hente de data (screenheight) med php vel?
Avatar billede roenving Novice
15. februar 2004 - 23:07 #7
Det tror jeg faktisk godt, du kan, for der er vist rigtig mange oplysninger i headeren !-)

-- men det spørger du smartest om i php-kategorien ...
Avatar billede gil-galad Nybegynder
15. februar 2004 - 23:07 #8
altså hvis jeg kre med 800*600 sender den mig videre, men ændrer ikke på variablen
Avatar billede gil-galad Nybegynder
15. februar 2004 - 23:07 #9
ok
Avatar billede gil-galad Nybegynder
15. februar 2004 - 23:09 #10
ser på det imorgen.. Godnat
Avatar billede mik789 Nybegynder
16. februar 2004 - 09:18 #11
Det er forklareret her: http://dk.php.net/FAQ.html

Nemlig:

5. How can I pass a variable from Javascript to PHP?

Since Javascript is (usually) a client-side technology, and PHP is (usually) a server-side technology, and since HTTP is a "stateless" protocol, the two languages cannot directly share variables.

It is, however, possible to pass variables between the two. One way of accomplishing this is to generate Javascript code with PHP, and have the browser refresh itself, passing specific variables back to the PHP script. The example below shows precisely how to do this -- it allows PHP code to capture screen height and width, something that is normally only possible on the client side.

<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
  // output the geometry variables
  echo "Screen width is: ". $_GET['width'] ."<br />\n";
  echo "Screen height is: ". $_GET['height'] ."<br />\n";
} else {
  // pass the geometry variables
  // (preserve the original query string
  //  -- post variables will need to handled differently)

  echo "<script language='javascript'>\n";
  echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
          . "&width=\" + screen.width + \"&height=\" + screen.height;\n";
  echo "</script>\n";
  exit();
}
?>
Avatar billede gil-galad Nybegynder
16. februar 2004 - 15:11 #12
jeg tror det ville være lettere at sige:

hvis (skærmopløsning er mindre end 1024*768){
skriv (setsize til 800 i cookien)
og (reload siden)
}
else{}
Avatar billede gil-galad Nybegynder
16. februar 2004 - 15:44 #13
ok er så langt her:

if(screen.availWidth<=800){
document.cookie="sitesize=800;expires=Fri, Dec 31 2010 23:59:59 GMT";
}
og det virker! men siden skal refreshes først, men man kan ikke bare skrive
if(screen.availWidth<=800){ window.refresh  for så gør den det hele tiden. man skal tjekke om der står sitesize=800 i cookien, og hvis ik' refresh ellers{}
Avatar billede mik789 Nybegynder
16. februar 2004 - 16:19 #14
det ene er vel ikke lettere end det andet. Men du spurgte selv om det kunne gøres via php. Hvis du i forvejen bruger php på sitet, kan der være en fordel ved at php registrerer variablen og værdien. Hvis f.eks. du vil kun vil sende noget html hvis opløsningen er 1024X768 og andet hvis den er 800X600.
Avatar billede gil-galad Nybegynder
16. februar 2004 - 16:24 #15
php kan ikke hente skærmoplsøsning, og det er for dumt at lave en redirect til det

fx. dette script, virker næsten
<script type="text/javascript">
if(screen.availWidth<=800){
    if(document.cookie.indexOf('sitesize')!=800){
        document.cookie="sitesize=800;expires=Fri, Dec 31 2010 23:59:59 GMT";
        window.location.refresh();
}}
</script>

den vil bare ikke refreshe
men dette skal man lige klikke på et link eller opdatere siden før det virker:
if(screen.availWidth<=800){
document.cookie="sitesize=800;expires=Fri, Dec 31 2010 23:59:59 GMT";
}
Avatar billede mik789 Nybegynder
16. februar 2004 - 16:41 #16
du skal gøre det som du synes det er mest praktisk i forhold til din side, men det er altså hverken svært eller dumt at reloade for at gøre variabler tilgængelige for php, hvis php derefter kan gøre det nemmere at styre mulighederne...
Avatar billede gil-galad Nybegynder
16. februar 2004 - 16:45 #17
så akal jeg jo reloade siden hver gang man skifter side. Det vil da lave mere loadtid?
ved du hvof' dette ikke virker. Det sætter cokkien rigtigt, men man skal stadig trykke opdater for at det kommer i brug:

<script type="text/javascript">
if(screen.availWidth<=800){
    if(document.cookie.indexOf('sitesize')!=800){
        document.cookie="sitesize=800;expires=Fri, Dec 31 2010 23:59:59 GMT";
        window.refresh(); *//// her burde den refreshe!
}}
</script>
Avatar billede gil-galad Nybegynder
16. februar 2004 - 18:54 #18
if(screen.availWidth<=960){
if(document.cookie.indexOf('800')==-1)document.cookie="sitesize=800;expires=Fri, Dec 31 2004 23:59:59 GMT";
}

hvordan får jeg den til at refreshe, hvis den ændrer cookien til 800
Avatar billede gil-galad Nybegynder
16. februar 2004 - 19:49 #19
ok, fik hjælp her: http://www.eksperten.dk/spm/466185

lægger i ikke et svar?
Avatar billede mik789 Nybegynder
16. februar 2004 - 23:25 #20
bare behold pointene selv- du har jo selv fundet frem til din løsning
;-)
Avatar billede gil-galad Nybegynder
17. februar 2004 - 17:13 #21
ok
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