Avatar billede martin_fs Nybegynder
27. oktober 2005 - 16:02 Der er 8 kommentarer

Fejlfinding i simpel kode

Hey.. jeg er lidt ny mht til php, men jeg har efterhånden forsøgt mig med mange løsninger. Følgende kode skulle gerne detecte brugerens opløsning (i bredden) og derefter vælge mellem to billeder, men det virker kun ved 1024:

$script_bredde = "<script language='JavaScript'>
document.write(window.screen.width)
</script>";

if ($script_bredde > 1024) { $bredde = 1280; } else { $bredde = 1024; }

echo "<img src='job_" . $bredde . ">"

Hvis jeg bare bruger variablen $script_bredde direkte, returnerer den bare selv javascriptet i stedet for tallet. Derfor de klodsede if-sætninger.
Avatar billede mahler Nybegynder
27. oktober 2005 - 18:17 #1
mon ikke du kan gøre det du vil (uden php, men i ren javascript) således:
-----
<html>
<body>

<script type="text/javascript">
var screenWidth= window.screen.width;
document.write("Screen size: " + screenWidth + "<br>");
if (screenWidth > 1024 ) {
        document.write("<img src=\"job_1280.jpg\">");
} else {
        document.write("<img src=\"job_1024.jpg\">");

}
</script>
</body>
</html>
---
Bemærk i øvrigt at document.screen.width giver dig brugeren skærmbrede, ikke breden på det aktuelle browservindue...
Avatar billede martin_fs Nybegynder
27. oktober 2005 - 19:55 #2
Jeg skulle måske have nævnt, at billedet kun skal vises, hvis en anden php-betingelse er opfyldt, så forslaget duer desværre ikke. Men tak for det, skulle have været mere klar.
Avatar billede mahler Nybegynder
27. oktober 2005 - 20:22 #3
okay, men så skal du have skrevet den anden betingelse ud til en javascript variabel...
Du kan ikke få brugerens skærmbrede fra javascript til PHP uden at reloade siden eller lignende, men du kan godt få data fra PHP til javascript (fordi PHP'en fortolkes af serveren, inden javascripten fortolkes af brugerens browser.
Avatar billede martin_fs Nybegynder
28. oktober 2005 - 01:09 #4
Ok, det vidste jeg ikke. Hehe, nu skal jeg jo snart skifte til en ny kategori herinde. Jeg har prøvet en times tid nu at få det her til at fungere, men jeg er altså nødt til at bede om hjælp igen, da mit problem stadig ikke er løst. Har forsøgt at overskueliggøre de krøllede paranteser:

<script type='text/javascript'>

var screenWidth = window.screen.width;
var j_sektion = <?php echo $sektion; ?>;
                           
if (j_sektion == jobs ) {
    document.write("<td height='15'>&nbsp;</td>");
            } else {
        if (screenWidth > 1024 ) {
              document.write("<img src='<?php echo $sektion; ?>/job_1280.png'>");
                    } else {
                            document.write("<img src='<?php echo $sektion; ?>/job_1024.png'>");
                        }
                }
</script>

Det går fint, indtil jeg implementerer betingelsen med, at billedet ikke skal vises, hvis man er under jobs-sektionen. Nu viser den ganske enkelt ikke billedet uanset hvad.
Avatar billede mahler Nybegynder
28. oktober 2005 - 07:40 #5
kan man se dit output et sted?
Er du sikker på at der bliver skrevet jobs i variablen?

Prøv også at ændre linjen med j_sektion til:

var j_sektion = "<?php echo $sektion; ?>";

så der kommer quotes omkring værdien.
Avatar billede martin_fs Nybegynder
28. oktober 2005 - 13:37 #6
den skriver sektionens navn rigtigt, og jeg har også prøvet med citationstegn omkring :(
Avatar billede mahler Nybegynder
28. oktober 2005 - 13:41 #7
Virker følgende?

<script type='text/javascript'>
var screenWidth = window.screen.width;
var j_sektion = "<?=$sektion?>";

if (j_sektion == "jobs") {
    document.write("<td height='15'>&nbsp;</td>");
            } else {
        if (screenWidth > 1024 ) {
              document.write("<img src='<?=$sektion?>/job_1280.png'>");
                    } else {
                            document.write("<img src='<?=$sektion?>/job_1024.png'>");
                        }
                }
</script>

hvis ikke kan du så ikke smide den HTML-source, der kommer ud, eller et link til et sted, hvor man kan se den.
Avatar billede martin_fs Nybegynder
28. oktober 2005 - 15:11 #8
Det virker sgu. Så vidt jeg kan se, er den eneste forskel syntaksen, med hvilken du henter php-variablerne. Det virkede bare fint ved billederne, som det var. Men mange tak for hjælpen og tålmodigheden!
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