Avatar billede ripley Nybegynder
20. august 2003 - 12:46 Der er 7 kommentarer og
2 løsninger

Styre vinduets størrelse

Hej!

Jeg ved godt, at man kan styre på et vindues størrelse, når man åbner det via et link på én eller anden side.

MEN! Man kan vel ikke styre størrelsen, hvis jeg går direkte ind på en side - lad os sige, at jeg går ind på www.krak.dk - hvis jeg programmerede koden bagved, kunne jeg så sørge for, at dette vindue åbnedes i en speciel størrelse?
Og kunne jeg slippe afsted med at lade bredden og højden være bestemt af brugerens skærmopløsning osv.?
Avatar billede ldanielsen Nybegynder
20. august 2003 - 12:50 #1
Du kan lave et link på din side, der åbner krak i et vindue, hvor du bestemmer størrelsen. Og dette vindues størrelse kan også godt være afhængig af brugerens skærmopløsning.

Men det vidste du, og det er ikke det du vil, vel?
Avatar billede cdc Novice
20. august 2003 - 12:51 #2
<html>

<head>
<title></title>
<script type="text/javascript">
self.resizeTo(800, 600);
self.moveTo((screen.width - 800) / 2, (screen.height - 600) / 2);
</script>
</head>

<body>

</body>

</html>
Avatar billede midas_dk Nybegynder
21. august 2003 - 16:33 #3
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <script language="javascript" type="text/javascript">
            // For fun scripting by MrMidas

            var resW =    new Array(    "640",    "800",    "1024",    "1280",    "1600")
            var resH =    new Array(    "480",    "600",    "768",    "1024",    "1200")

            // Reduces window size by 150 pixels in both height and width.
            // It resizes by 5 pixels until reaching 150 total.
            // This provides a suitable gliding motion without taking too long...
            function testWinSizeMin()
            {
                var winwidth = document.body.clientWidth;
                //alert(winwidth);
                for (i = winwidth; i > winwidth - 150; i = i - 5)
                {
                    window.resizeBy(-5,-5);
                }
            }

            // Same as above - just doesn't reduce... *S*
            function testWinSizeMax()
            {
                var winwidth = document.body.clientWidth;
                //alert(winwidth);
                for (i = winwidth; i < winwidth + 150; i = i + 5)
                {
                    window.resizeBy(5,5);
                }
            }

            // Too simple to explain...
            function testWinSize()
            {
                window.resizeTo(800,600);
            }

            // testRes uses the arrays so it can jump through some standard screen resolutions.
            // Might be handy if you're a developer testing for resolution compatibility.
            function testRes(direction)
            {
                if (direction == "down")
                {
                    // Runs through the width array until finding the current window size.
                    // Then resizes to the next resolution pair. I had to add some pixels
                    // to the comparison parameter (...clientWidth + 50), since there is
                    // no way of gettting the accurate numbers. So I round up or down a bit!
                    for (i = resW.length - 1; i >= 1; i--)
                    {
                        //alert("-" + resW[i] + "|" + document.body.clientWidth);
                        if ((document.body.clientWidth + 50) >= resW[i])
                        {
                            window.resizeTo(resW[i-1],resH[i-1]);
                            return;
                        }
                    }
                }
                else
                {
                    for (i = 0; i <= resW.length - 1; i++)
                    {
                        //alert("+" + resW[i] + "|" + document.body.clientWidth);
                        if ((document.body.clientWidth - 50) <= resW[i] && resW[i] < self.screen.width)
                        {
                            window.resizeTo(resW[i+1],resH[i+1]);
                            return;
                        }
                    }
                }
            }

            // ******************************************************************
            // *                WHY CAN'T I RESIZE MANUALLY                        *
            // *                AFTER USING THESE FUNCTIONS                        *
            // *                ???????????????????????????                        *
            // ******************************************************************

        </script>
    </head>
    <body>
        <a href="java script:testWinSizeMax()">Enlarge</a>
        <br>
        <a href="java script:testWinSizeMin()">Reduce</a>
        <br>
        <a href="java script:testWinSize()">Set to 800x600</a>
        <br>
        <a href="java script:testRes('down')">Down one res</a>
        <br>
        <a href="java script:testRes('up')">Up one res</a>
    </body>
</html>
Avatar billede midas_dk Nybegynder
29. august 2003 - 17:15 #4
halloh?
Avatar billede ripley Nybegynder
05. september 2003 - 13:02 #5
/cdc - enkelt - og det ser ud til at virke. Lav et svar - så får du point! :o)

midas_dk - jeg ved ikke helt, jeg synes, det skyder lidt over målet i forhold til, hvad jeg har brug for.
Avatar billede cdc Novice
05. september 2003 - 13:30 #6
svarer :o)
Avatar billede midas_dk Nybegynder
05. september 2003 - 13:44 #7
Tjoh... Det er bare et stykke kode, jeg har lavet for et stykke tid siden, som jeg regnede med at du kunne bruge!

Du behøver ikke ha' det hele med - bare funktionen testWinSize() for at få (næsten) samme resultat som /cdc's kode...
Avatar billede ripley Nybegynder
15. oktober 2003 - 11:37 #8
Jow-jow - så får I begge points, da!
Avatar billede cdc Novice
15. oktober 2003 - 11:43 #9
takker
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