Avatar billede rolfenstein Nybegynder
02. februar 2007 - 21:14 Der er 22 kommentarer og
4 løsninger

Skærmopløsning

Hvordan laver jeg en vidrestilning med opløsningerne:
800X600
960X600
1024X768
1088X612
1152X864
1280X720
1280X768
1280X800
1280X960
1280X1024

Håber der er en der kan hjælpe mig Hurtigt, da det haster virkligt meget...
Avatar billede jhe-ting Nybegynder
02. februar 2007 - 22:01 #1
Et hurtigt (utestet svar) burde virke i mange browsere, bare der er javascript.

<script type="text/javascript>
var baseURL = "myweb.xxx/pagename";
var pageExt = ".htm";
window.onload=function(e){
    var resolution = screen.width +"x"+screen.height;
    if (location.href != baseURL+resolution+pageExt)
        location.href  = baseURL+resolution+pageExt;
}
</script>

En anden og bedre løsning er server-side script.
Har du PHP eller ASP?
Avatar billede esben85 Nybegynder
02. februar 2007 - 22:01 #2
if (screen.width>=800 && screen.height>=600)
{
window.location="800x600.html";
}else if(screen.width>=... osv.)

Tag og start med den største først.
Og dette tjekker ikke for skærmopløsning. Kun browservinduets størrelse, så du skal måske korrigere det lidt.
Avatar billede jhe-ting Nybegynder
02. februar 2007 - 22:03 #3
PS: Det kræver en udgave for hver mulie skærmopløsning.

PPS: med lidt mere kode kan man vælge den opløsning der passer best til ustandardiserede skærme.
Avatar billede jhe-ting Nybegynder
02. februar 2007 - 22:30 #4
Stadig en hurtig utestest løsning.
Vælger det mindst format fra listen, der ikke er for stort.

<script type="text/javascript">
var resolutions = [
    [  800, 600 ],
    [  960, 600 ],
    [ 1024, 768 ],
    [ 1088, 612 ],
    [ 1152, 864 ],
    [ 1280, 720 ],
    [ 1280, 768 ],
    [ 1280, 800 ],
    [ 1280, 960 ],
    [ 1280, 1024]

];

var resolution = [parseInt(screen.width), parseInt(screen.height)];
var useIdx = 0;
for (var idx = 0, nn=resolutions.length; idx<nn; idx++){
    if (resolutions[idx][0]<=resolution[0] &&
        resolutions[idx][1]<=resolution[1] )
            useIdx = idx;
}
location.href = "http://www.myweb.xxx/pagename"+
    resolutions[idx][0]+"x"
    resolutions[idx][1];
</script>
Avatar billede jhe-ting Nybegynder
02. februar 2007 - 22:31 #5
Har du ASP eller PHP?
Avatar billede rolfenstein Nybegynder
02. februar 2007 - 22:33 #6
Jeg bruger Asp..

Hvordan skal jeg sætte det op du har lavet ?
Avatar billede jhe-ting Nybegynder
02. februar 2007 - 22:38 #7
De hurtige løsninger her er client-side scripts, der jo kræver at der er script.

Indsæt scriptet fra 02/02-2007 22:30:32 lige efter body-tagget og ret dette så det passe på sidens URL:

location.href = "http://www.myweb.xxx/pagename"+
    resolutions[idx][0]+"x"
    resolutions[idx][1]+".htm";
Avatar billede jhe-ting Nybegynder
02. februar 2007 - 22:44 #8
Avatar billede rolfenstein Nybegynder
02. februar 2007 - 22:54 #9
Hmmmm hva skal jeg sååå :-(
Avatar billede jhe-ting Nybegynder
02. februar 2007 - 23:23 #10
Jeg foreslår at integrere mit forslag fra 02/02-2007 22:30:32 med ASP.

Her en endnu et ASP eksempel:

http://www.aspin.com/func/content?tree=aspin/tutorial/userinte&id=5007010
Avatar billede jhe-ting Nybegynder
02. februar 2007 - 23:24 #11
Har du prøvet mit forslag fra 02/02-2007 22:30:32 ?
Avatar billede jhe-ting Nybegynder
03. februar 2007 - 00:29 #12
Det ser ud til at alle ASP-løsninger også kræver script.
Man kunne lave en <NOSCRIPT> liste af link's til de mulige skærmstørrelser.
Avatar billede rolfenstein Nybegynder
03. februar 2007 - 01:46 #13
hmmm  men scriptet skal kun være i en fil.
Lige nu bruger jeg:

<script language="JavaScript">

if (window.screen.width > 1280) {
URL = "1280_home.asp";
window.location = URL; }
if (window.screen.width == 1024) {
URL = "1024_home.asp";
window.location = URL; }
if (window.screen.width == 800) {
URL = "800_home.asp";
window.location = URL; }
if (window.screen.width == 1152) {
URL = "1152_home.asp";
window.location = URL; }
if (window.screen.width == 1280) {
URL = "1280_home.asp";
window.location = URL; }

</script>

Men den ved jeg ikke hvordan jeg får til at køre alle opløsninger
Avatar billede jhe-ting Nybegynder
03. februar 2007 - 06:34 #14
hvis sidens forskellige udgaver kaldes:

  800x600_home.asp
  960x600_home.asp
    ...
  1280x1024_home.asp

så skal home.asp (hvis det er dét den heder) have dette script der hvor dit nuværende står.

<script type="text/javascript">
var resolutions = [
    [  800, 600 ],
    [  960, 600 ],
    [ 1024, 768 ],
    [ 1088, 612 ],
    [ 1152, 864 ],
    [ 1280, 720 ],
    [ 1280, 768 ],
    [ 1280, 800 ],
    [ 1280, 960 ],
    [ 1280, 1024]

];

var resolution = [parseInt(screen.width), parseInt(screen.height)];
var useIdx = 0;
for (var idx = 0, nn=resolutions.length; idx<nn; idx++){
    if (resolutions[idx][0]<=resolution[0] &&
        resolutions[idx][1]<=resolution[1] )
            useIdx = idx;
}
location = resolutions[idx][0]+"x"+resolutions[idx][1]+"_home.asp";
</script>
Avatar billede jhe-ting Nybegynder
03. februar 2007 - 06:37 #15
Hvis du kun har fire opløsninger skal du bare rette dit script til den rigtige rækkefølge:

<script language="JavaScript">

if (window.screen.width > 1280) {
URL = "1280_home.asp";
window.location = URL; }
if (window.screen.width == 1024) {
URL = "1024_home.asp";
window.location = URL; }
if (window.screen.width == 1152) {
URL = "1152_home.asp";
window.location = URL; }
if (window.screen.width == 800) {
URL = "800_home.asp";
window.location = URL; }

</script>
Avatar billede rolfenstein Nybegynder
03. februar 2007 - 10:54 #16
Hej igen!!
den fra 06:34:11 virker ikke...

Og det er jo som jeg vil have den til at køre mange flere opløsninger end de 4.
så den regner ud både fra højte og brede..
Men så er spørgsmålet bare hvordan :-)
Avatar billede jhe-ting Nybegynder
04. februar 2007 - 02:25 #17
En lille rettelse:

location = resolutions[useIdx][0]+"x"+resolutions[useIdx][1]+"_home.asp";
Avatar billede jhe-ting Nybegynder
04. februar 2007 - 02:25 #18
Testopstilling:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<script type="text/javascript">
var resolutions = [
    [  800, 600 ],
    [  960, 600 ],
    [ 1024, 768 ],
    [ 1088, 612 ],
    [ 1152, 864 ],
    [ 1280, 720 ],
    [ 1280, 768 ],
    [ 1280, 800 ],
    [ 1280, 960 ],
    [ 1280, 1024]

];

var resolution = [parseInt(screen.width), parseInt(screen.height)];
var useIdx = 0;
for (var idx = 0, nn=resolutions.length; idx<nn; idx++){
    if (resolutions[idx][0]<=resolution[0] &&
        resolutions[idx][1]<=resolution[1] )
            useIdx = idx;
}
document.write("Screen resolution : " + resolutions[useIdx][0]+"x"+resolutions[useIdx][1]);
</script>
</body>
</html>
Avatar billede rolfenstein Nybegynder
04. februar 2007 - 02:53 #19
Men hvordan vidre stiller den til fx 1280x960_home.asp  ?????
Avatar billede jhe-ting Nybegynder
04. februar 2007 - 02:55 #20
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<script type="text/javascript">
var resolutions = [
    [  800, 600 ],
    [  960, 600 ],
    [ 1024, 768 ],
    [ 1088, 612 ],
    [ 1152, 864 ],
    [ 1280, 720 ],
    [ 1280, 768 ],
    [ 1280, 800 ],
    [ 1280, 960 ],
    [ 1280, 1024]

];

var resolution = [parseInt(screen.width), parseInt(screen.height)];
var useIdx = 0;
for (var idx = 0, nn=resolutions.length; idx<nn; idx++){
    if (resolutions[idx][0]<=resolution[0] &&
        resolutions[idx][1]<=resolution[1] )
            useIdx = idx;
}
location = resolutions[useIdx][0]+"x"+resolutions[useIdx][1]+"_home.asp";
</script>
</body>
</html>
Avatar billede rolfenstein Nybegynder
04. februar 2007 - 02:55 #21
Skal den ligge mellem <body> </body> `???
Avatar billede jhe-ting Nybegynder
04. februar 2007 - 02:57 #22
Eksemplet er en KOMPLET HTML-fil !!!
Avatar billede rolfenstein Nybegynder
04. februar 2007 - 02:59 #23
Virker ikke ved mig :(
Avatar billede rolfenstein Nybegynder
04. februar 2007 - 03:04 #24
Jeg skulle bare sætte det ind mellem <head>
</head>  :-)

Kan jeg så bare tilføje alle de opløsninger jeg vil ?
Avatar billede jhe-ting Nybegynder
04. februar 2007 - 03:11 #25
Det er jo netop dét der er idéen med min løsning:
Nemt at konfigurere med

    resolutions = [
        [xWidth0,yWidth0]
        ...
    ]

03/02-2007 06:34:11 kombineret med 04/02-2007 02:25:01er en script blok der kan indsættes i enten head eller body.

04/02-2007 02:25:59  og  04/02-2007 02:55:14  er komplette eksempler på HTML-filer.
Avatar billede rolfenstein Nybegynder
04. februar 2007 - 03:30 #26
100000000000000 Tak for alt din hjælp.. det var dejligt...
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