WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Känna av användarens upplösning i php (https://www.wn.se/forum/showthread.php?t=12838)

eroticline 2006-03-09 08:05

Hej igen *S*

Jag funderar på om det finns något bra script etc i php för att känna av användarens upplösning och utifrån den ladda olika storlek på bakgrundsbilder etc.

vad ja i första hand behöver är ett php script och i java finns det massor men php skulle passa mina syften bättre...

M.V.H

Christer

b_andersson 2006-03-09 08:26

Kontrollerar upplösning gör du i javascript och då med screen.width & screen.height.

Enkelt exempel för att redirecta användare beroende på ifall dom kör 1024x768 (eller högre) till en sida och dom med lägre till en annan:

Kod:


<script language="JavaScript">
if ((screen.width>=1024) && (screen.height>=768))
{
 window.location="1024.html";
}
else
{
 window.location="old.html";
}
</SCRIPT>

//Björn

DeSoto 2006-03-09 09:48

Ett tips är att göra som b_andersson skriver, men att låta old.html vara den sida som scriptet är på. Det är större risk att en person med lägre upplösning inte har Javascript aktiverat, och då kan ingen redirect göras.

Bergman 2008-04-27 19:51

Citat:

Originally posted by b_andersson@Mar 9 2006, 09:26
Kontrollerar upplösning gör du i javascript och då med screen.width & screen.height.

Enkelt exempel för att redirecta användare beroende på ifall dom kör 1024x768 (eller högre) till en sida och dom med lägre till en annan:

Kod:


<script language="JavaScript">
if ((screen.width>=1024) && (screen.height>=768))
{
 window.location="1024.html";
}
else
{
 *window.location="old.html";
}
</SCRIPT>

//Björn

Nu tycker ni nog jag är korkad men jag är verkligen urkass på Javascript. Hur gör man om man vill ladda om sidan Javascriptet körs på?

Dvs om Javascriptet hittar att jag har en upplösning på 1280*1024 så vill jag att den ska ladda om sidan (exempelvis index.php) med upplösningen som parametrar. Jag vill i exemplet alltså ladda index.php?width=1280&height=1024

Någon som kan hjälpa en glad Javascriptamatör?

jomper 2008-04-27 21:22

Tänk på att man får skärmupplösningen men inte fönsterstorleken som egentligen är mera intressant.. Iofs, kör man 1024x768 eller lägre kör man sannolikt browsern maximerad.

etanders 2008-04-27 21:35

Bergman, enklast vore väl
Kod:

window.location = "index.php?width=" + screen.width + "&height=" + screen.height;

objx 2008-04-27 22:58

Om du bara behöver besökarens upplösning för att avgöra vilka bakgrundsbilder som skall användas, och andra layoutmässiga variationer så skulle jag hellre låta javascriptet använda skärmupplösningen för att lägga till ett CSS-stylesheet, än att ladda om hela sidan.
Det tjänar både dina besökare tid på samtidigt som du sparar bandbredd.

Läs mer om hur du gör det här:
http://juicystudio.com/article/acces...ookmarklet.php

Hittade en javascript-funktion som skall vara cross-browser. Kanske något du kan ha nytta av eftersom det finns webbläsare som inte klarar av kommandot screen.width och screen.height:


function getWindowSize() {
var myWidth = 0, myHeight = 0;
if( typeof( window.innerWidth ) == 'number' ) {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;

} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {

//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;

} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
return [ myWidth, myHeight ];
}



Kör sedan något i stil med:
...
<head>

<script type="text/javascript">
var res = getWindowSize();

if(res[0] == 1024 && res[1] == 768){
/* javascript som lägger till ditt stylesheet för 1024x768 */
}else if(res[0] == 1280 && res[1] == 1024){
....
}else{
....
}
</script>
</head>
....


Alla tider är GMT +2. Klockan är nu 20:35.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson