Sjekke oppløsning på skjerm

kongen

kongemedlem
Hvordan kan man sjekke hvilken oppløsning en leser har på skjermen og videreføre han til en annen side hvis oppløsningen er "gammeldags"?

Eksempel:
Hvis oppløsning er 800 x 600 så blir han sendt til nettside.com/gammel
Hvis oppløsning er høyere enn de 600 i høyden så får han orginal nettside.com
 

fabbz

Medlem
Dette er ved å bruke javascript. Hvis du vil bruke PHP for å kontrollere det så kan du lagre x og y i en cookie og leser cookien med php vil jeg tro.

Har ikke testet koden under, men det er noe i den duren ;)

var x = screen.width;
var y = screen.height;

if ((x>=1680) && (y>=1050)) {
alert('Du har for lav oppløsning');
}else{
alert('Du har ok oppløsning');
}
 

Pong

Jeg selger sʇɥƃıluʍop :)
Ikke en redirect nei, men jeg hadde foretrukket å kunne vise samme info også på mindre skjerm-størrelser ved å lage css'en rett. Sukk ja: welcome to utopia :p.

Så såfort det blir upraktisk for en eller annen grunn (kunnskap og tid er en god begrensende faktor ganske så ofte - samt gyldig) så kunne jeg tenkt å bytte stylesheet basert på skjermstørrelse (heller det enn en forward sant?). Duden her har en metode: swap the CSS fille based on screen size - HTML, XHTML & CSS FAQ - Tek-Tips (som jeg ikke liker).

Så da får jeg vel vente til css3's media queries funker overalt-ish :p
 

Sjefskoder

Sjefskoder
Som nevnt tidligere bruker du JavaScript til dette:
Kode:
<script type="text/javascript">

var wrongwidth=800
var wrongheight=600
if (screen.width==wrongwidth||screen.height==wrongheight){
	
	window.location = "http://www.google.com/"
}

</script>
Denne kodefnutten sender deg til google.com, dersom skjermoppløsningen er 800x600..


Men som Pong sier, så skal ikke dette være nødvendig om du kan css, for da anpasser alt seg til skjerminnstillingene..

Den største feilen de fleste gjør når de lager stilarket (CSS) er å bruke "px" på tekst..
Om du bruker "em" i steden så anpasser tekststørrelsen seg skjerminnstillingene..

px skal kun brukes på bilder og rammer (border)...

En liten "jukselapp" for px i em-form :

font-size:10px -font-size:0.63em
font-size:11px - font-size:0.69em
font-size:12px - font-size:0.75em
font-size:13px - font-size:0.82em
font-size:14px - font-size:0.88em
font-size:15px - font-size:0.93em
font-size:16px - font-size:1em
font-size:17px - font-size:1.06em
font-size:18px - font-size:1.12em
font-size:19px - font-size:1.19em
font-size:20px - font-size:1.25em
font-size:21px - font-size:1.32em
font-size:22px - font-size:1.38em
font-size:23px - font-size:1.44em
font-size:24px - font-size:1.5em
font-size:25px - font-size:1.56em
font-size:26px - font-size:1.63em
font-size:27px - font-size:1.69em
font-size:28px - font-size:1.75em
font-size:29px - font-size:1.82em
font-size:30px - font-size:1.88em
font-size:31px - font-size:1.94em
font-size:32px - font-size:2.01em
Om du bare gjør det lille enkle her, så hjelper det mye på dette med å vise likt i alle skjermstørrelser :)

/S
 

Sjefskoder

Sjefskoder
Du mener &&, ikke ||.

|| = eller
&& = og

Nå ville jeg at koden skulle sjekke at dersom du har bredde eller høyde som er det samme som bredde (800) eller høyde (600) så sier den ifra....

Hadde jeg brukt && hadde den kun sjekket etter en bestemt bredde og størrelse..

Finnes muligheter for å velge blandt annet 800 X 512 i oppløsning og da hjelper det ikke om den kun ser etter en viss bredde og størrelse ;)

/S
 
Sist redigert:

Pong

Jeg selger sʇɥƃıluʍop :)
Egentlig synes jeg det er merkelig at et program som kjører på en nettside, i en browser (js altså) skal ha bruk for skjermstørrelsen.
Window size ja. Screen size nei.

Men denne:
if (screen.width==wrongwidth||screen.height==wrongheight){
- selv om den er rett i kontekst -
er det en ide å bytte ut med en if som sjekker hvis skjermbredde eller skjermhøyde er under et visst minimum, så tar den js-redirecten.
 

hansvh

Medlem
Skal ikke kverulere mer med deg etter denne posten, men du sa da:

Denne kodefnutten sender deg til google.com, dersom skjermoppløsningen er 800x600..

Ja, men ikke bare det, den sender deg også videre hvis oppløsningen er 800x1024, 800x4096, 1024x600, 2048x600, osv, osv.

Men tilbake til saken, har du fått svar kongen?
 

kongen

kongemedlem
Hei hei, og takk for svar :)

Har ikke fått testet løsningene enda da min arbeids-pc har tatt kvelden (søk etter bluescreen på forumet).

Har kjøpt meg ny pc samt dockingstasjon til harddisk for å få ut siste dagers arbeid fra fucked-opp-jævla-hp-mongo-maskin, og skal teste ut løsningene så snart jeg har fått installert programvarene jeg bruker på den nye pcn.
 
Topp