Avatar billede JJ77 Juniormester
14. januar 2006 - 13:46 Der er 26 kommentarer og
1 løsning

Få frame til at tilpasse sig størrelse til indhold automatisk.

Kan man få framen login til at tilpasse sig indholdet i vinduet automatisk. Det skal kun være i højden. Det er fordi at der bliver vist en loginside i framen "login", som bliver mindre når man har logget ind. Som det er nu bliver framen i sin startstørrelse når man er logget ind, selv om der bliver vist en ny side i samme frame, og det giver lidt meget spilplads. Framen under "login" skal bare få det mere plads når "login" bliver mindre.. Håber jeg har udtrykt mig klart nok;)

<html>

    <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <meta name="generator" content="">
        <title></title>
    </head>

    <frameset border="0" cols="150,*,150" frameborder="no" framespacing="0">
        <frameset rows="260,100%">
            <frame name="login" noresize scrolling="no" src="members/venstrebar.php">
            <frame name="NoName" noresize scrolling="no" src="nedreVenstrebar.php">
        </frameset>
        <frameset rows="80,*">
            <frame name="" noresize scrolling="no" src="overFrame.html">
            <frame name="vs" noresize src="forside.html">
        </frameset>
        <frame name="NoName" noresize src="hoejrebar.html">
        <noframes>

            <body bgcolor="#ffffff">
                <p></p>
            </body>

        </noframes>
    </frameset>

</html>
Avatar billede saucer Nybegynder
15. januar 2006 - 00:32 #1
Dette er ikke muligt. Der er du nød til at lave et script der styrer 2 iframes som du skifter i mellem alt efter hvilken side du er inde på.
Avatar billede roenving Novice
15. januar 2006 - 04:44 #2
Man kan sagtens resize størrelser af frames i et frameset, men den er lidt tricky, for du skal have fat i frameset-elementet og ændre rows-propertyen:

top.FRAMESETNAME.rows = "180,*";
Avatar billede JJ77 Juniormester
17. januar 2006 - 17:56 #3
Men hvor skal top.FRAMESETNAME.rows = "180,*"; sættes ind?
Avatar billede roenving Novice
17. januar 2006 - 18:31 #4
I den frame, hvor du beregner højden ...
Avatar billede JJ77 Juniormester
17. januar 2006 - 18:47 #5
sorry hvis det er et dumt spørgsmål, men hvor skal det sættes ind i nedenstående kode, hvis det er i den frame som hedder login hvor den skal tilpasses?

<html>

    <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <meta name="generator" content="">
        <title></title>
    </head>

    <frameset border="0" cols="150,*,150" frameborder="no" framespacing="0">
        <frameset rows="260,100%">
            <frame name="login" noresize scrolling="no" src="members/venstrebar.php">
            <frame name="NoName" noresize scrolling="no" src="nedreVenstrebar.php">
        </frameset>
        <frameset rows="80,*">
            <frame name="" noresize scrolling="no" src="overFrame.html">
            <frame name="vs" noresize src="forside.html">
        </frameset>
        <frame name="NoName" noresize src="hoejrebar.html">
        <noframes>

            <body bgcolor="#ffffff">
                <p></p>
            </body>

        </noframes>
    </frameset>

</html>
Avatar billede roenving Novice
17. januar 2006 - 18:52 #6
<frameset name="loginFrameset" rows="260,*">
            <frame name="login" noresize scrolling="no" src="members/venstrebar.php">
            <frame name="NoName" noresize scrolling="no" src="nedreVenstrebar.php">
        </frameset>


-- og så i login-framen:

<script type="text/javascript">
window.onload = function(){
  var t=document.body.scrollHeight;
  top.loginFrameset.rows = t+22+',*';
}
</script>
Avatar billede JJ77 Juniormester
17. januar 2006 - 19:23 #7
har nu prøvet at tilføje nedenstående kode til min index-fil som indeholder framesne.
<frameset name="loginFrameset" rows="260,*">
            <frame name="login" noresize scrolling="no" src="members/venstrebar.php">
            <frame name="NoName" noresize scrolling="no" src="nedreVenstrebar.php">
        </frameset>


Herefter har jeg tilføjet nedenstående øverst i den vindue som bliver vist når jeg trykker på login. Men så bliver der slet ikke vist noget.. der kommer bare et hvidt vindue uden noget?.. hvad gør jeg galt?

<script type="text/javascript">
window.onload = function(){
  var t=document.body.scrollHeight;
  top.loginFrameset.rows = t+22+',*';
}
</script>
Avatar billede roenving Novice
18. januar 2006 - 13:29 #8
Kan du lægge et link ?-)

-- for du har vel erstattet den kode, du havde tidligere !-)
Avatar billede JJ77 Juniormester
18. januar 2006 - 23:04 #9
Den originale indexfil ser således ud:


<html>

    <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <meta name="generator" content="">
        <title></title>
    </head>

    <frameset border="0" cols="150,*,150" frameborder="no" framespacing="0">
        <frameset rows="260,100%">
            <frame name="login" noresize scrolling="no" src="members/venstrebar.php">
            <frame name="NoName" noresize scrolling="no" src="nedreVenstrebar.php">
        </frameset>
        <frameset rows="80,*">
            <frame name="" noresize scrolling="no" src="overFrame.html">
            <frame name="vs" noresize src="forside.html">
        </frameset>
        <frame name="NoName" noresize src="hoejrebar.html">
        <noframes>

            <body bgcolor="#ffffff">
                <p></p>
            </body>

        </noframes>
    </frameset>

</html>



members/venstrebar.php ser således ud:

<html>

    <head>
    <style>

        <!--
                .stor{
                        color:#FFFFFF;
                        font:18 px helvetica,tahoma,Georgia,verdana,arial,Courier New;
                        text-decoration: none;
                        font-style: normal;                   
                        font-weight: bold;
                       
                }
        -->
          <!--
                .mellem{
                        color:#000000;
                        font:15 px Times New Roman,helvetica,tahoma,Georgia,verdana,arial,Courier New;
                        text-decoration: none;
                        font-style: normal;                   
                        font-weight: bold;
                       
                }
        -->
        <!--
                .lille{
                        color:#FFFFFF;
                        font:15px Times New Roman,Arial,Helvetica,sans-serif;
                        text-decoration: none;
                }
        -->
</style>

        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">

    </head>

    <body bgcolor="#cad9ea" scroll="no" link="#000011" vlink="#000011" alink="red" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
        <table width="160" border="0" cellspacing="0" cellpadding="0" bgcolor="#3f75a2">
            <tr height="80">
                <td height="80" background="../NewFiles/overkantLinkbar.gif"></td>
            </tr>
            <tr>
                <td background="../NewFiles/smaaOverskrifter.gif"><span class="stor"><b> Bruger login</b></span></td>
            </tr>
        </table>
        <form action="login.php" method="post" name="">
            <table width="64" border="0" cellspacing="2" cellpadding="0">
                <tr>
                    <td>
                        <table width="150" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                                <td><b><span class="mellem">Brugernavn</span></b></td>
                            </tr>
                            <tr>
                                <td><input type="text" name="username" value="<? echo $_REQUEST['username']; ?>" size="20" border="0"></td>
                            </tr>
                            <tr>
                                <td><b><span class="mellem">Adgangskode</span></b></td>
                            </tr>
                            <tr>
                                <td><input type="password" name="password" size="20" border="0"></td>
                            </tr>
                            <tr>
                                <td><input type="submit" name="submit" value="Log ind" border="0"></td>
                            </tr>
                            <tr>
                                <td><b><span class="lille"><a href="signup.php" target="vs">Opret</a> | <a href="reminder.php" target="vs">Glemt kode</a></span></b></td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </form>
    </body>

</html>







Og til slut filen som bliver kaldt ved login login.php og tilhørende fil login.txt

<?


require_once('common.php');


if(!isset($_REQUEST['submit']))
{
    if(!isset($title))
    {
        require_once("../inc/header.php");
        create_header();
    }
    require("login.txt");
}
else
{
    $userName = $_REQUEST['username'];
    $password = $_REQUEST['password'];
   
    require    ("../inc/config.php");
   
    if(($userId = is_valid($userName,$password,$con)) != 0)
    {
       
        session_start();
        $sessionId = session_id();
       
        if(set_session($userId,$sessionId,$con))
        {

            if(isset($ret) && is_valid_referer())
            {
                $url = $_REQUEST['url'];
                header("Location: $url");
            }
            else
            {
                header("Location: my.php");
            }
        }
        else
        {
            //echo mysql_error();
            require_once("../inc/header.php");
            create_header();

            echo '<p>&nbsp;</p>';
            echo '<table width="90%" align="center"><tr><td>';
           
            err_message("Der skete en fejl ved log ind. Kontakt venligst $member_service_email");
            require("login.txt");                 
        }
    }
    else
    {
            require("login.txt");   
            echo " <script type=\"text/javascript\">
            alert(\"Du har indtastet et forkert brugernavn eller password\");
            </script>";
                         
    }
}

echo '</td></tr></table>';

?>






login.txt

<html>

    <head>
    <style>

        <!--
                .stor{
                        color:#FFFFFF;
                        font:18 px helvetica,tahoma,Georgia,verdana,arial,Courier New;
                        text-decoration: none;
                        font-style: normal;                   
                        font-weight: bold;
                       
                }
        -->
          <!--
                .mellem{
                        color:#000000;
                        font:15 px Times New Roman,helvetica,tahoma,Georgia,verdana,arial,Courier New;
                        text-decoration: none;
                        font-style: normal;                   
                        font-weight: bold;
                       
                }
        -->
        <!--
                .lille{
                        color:#FFFFFF;
                        font:15px Times New Roman,Arial,Helvetica,sans-serif;
                        text-decoration: none;
                }
        -->
</style>

        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">

    </head>

    <body bgcolor="#cad9ea" scroll="no" link="#000011" vlink="#000011" alink="red" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
        <table width="160" border="0" cellspacing="0" cellpadding="0" bgcolor="#3f75a2">
            <tr height="80">
                <td height="80" background="../NewFiles/overkantLinkbar.gif"></td>
            </tr>
            <tr>
                <td background="../NewFiles/smaaOverskrifter.gif"><span class="stor"><b> Bruger login</b></span></td>
            </tr>
        </table>
        <form action="login.php" method="post" name="">
            <table width="64" border="0" cellspacing="2" cellpadding="0">
                <tr>
                    <td>
                        <table width="150" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                                <td><b><span class="mellem">Brugernavn</span></b></td>
                            </tr>
                            <tr>
                                <td><input type="text" name="username" value="<? echo $_REQUEST['username']; ?>" size="20" border="0"></td>
                            </tr>
                            <tr>
                                <td><b><span class="mellem">Adgangskode</span></b></td>
                            </tr>
                            <tr>
                                <td><input type="password" name="password" size="20" border="0"></td>
                            </tr>
                            <tr>
                                <td><input type="submit" name="submit" value="Log ind" border="0"></td>
                            </tr>
                            <tr>
                                <td><b><span class="lille"><a href="signup.php" target="vs">Opret</a> | <a href="reminder.php" target="vs">Glemt kode</a></span></b></td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </form>
    </body>

</html>
Avatar billede roenving Novice
19. januar 2006 - 16:01 #10
Index-filen skal se sådan ud:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>

    <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <meta name="generator" content="">
        <title></title>
    </head>

    <frameset border="0" cols="150,*,150" frameborder="no" framespacing="0">
        <frameset name="loginFrameset" rows="260,*">
            <frame name="login" noresize scrolling="no" src="members/venstrebar.php">
            <frame name="NoName" noresize scrolling="no" src="nedreVenstrebar.php">
        </frameset>
        <frameset rows="80,*">
            <frame name="" noresize scrolling="no" src="overFrame.html">
            <frame name="vs" noresize src="forside.html">
        </frameset>
        <frame name="NoName" noresize src="hoejrebar.html">
        <noframes>

            <body bgcolor="#ffffff">
                <p></p>
            </body>

        </noframes>
    </frameset>

</html>

-- og så i login.txt:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

    <head>
      <script type="text/javascript">
        window.onload = function(){
          var t=document.body.scrollHeight;
          top.loginFrameset.rows = t+22+',*';
        }
      </script>
    <style>

-- osv.
Avatar billede JJ77 Juniormester
20. januar 2006 - 15:42 #11
Har gjort præcis som du siger, men det sker sq ikke noget. loginframen bliver i samme størrelse:(
Avatar billede roenving Novice
20. januar 2006 - 16:30 #12
Prøv med et id:

        <frameset id="loginFrameset" rows="260,*">

-- og

      <script type="text/javascript">
        window.onload = function(){
          var t=document.body.scrollHeight;
          top.getElementById("loginFrameset").rows = t+22+',*';
        }
      </script>
Avatar billede JJ77 Juniormester
20. januar 2006 - 21:46 #13
hmmm. virker stadig ikke:( ... det er sku ikke en af de nemme hva.
Avatar billede roenving Novice
21. januar 2006 - 00:19 #14
Kan du ikke lægge et link ?-)
Avatar billede JJ77 Juniormester
21. januar 2006 - 01:44 #15
softplanet.dk/index1.html

PS: jeg har fjernet dine tilføjelser pt. Men måske du bedre kan se hvor og hvordan det kan sættes ind nu... login temp pass temp
Avatar billede roenving Novice
21. januar 2006 - 01:47 #16
-- til en anden gang: Sæt enten http:// eller www. foran et link, for så gør eksperten det automatisk klikbart !-)

-- som det er nu, kræver det jo, at jeg manuelt åbner et nyt vindue og kopierer linket over ...
Avatar billede roenving Novice
21. januar 2006 - 01:55 #17
Hvadfor har du *mange* frameset-definitioner inde i hinanden, det er ikke en god strategi ...

Eventuelt kan du lægge det hele i eet, f.eks. index1.html:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>

    <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <meta name="generator" content="">
        <title></title>
    </head>

<frameset border="0" cols="*,900,*" frameborder="no" framespacing="0">
        <frame name="NoName" noresize src="sider.html">
    <frameset border="0" cols="150,*,150" frameborder="no" framespacing="0">
        <frameset id="loginFrameset" rows="260,*">
            <frame name="login" noresize scrolling="no" src="members/venstrebar.php">
            <frame name="NoName" noresize scrolling="no" src="nedreVenstrebar.php">
        </frameset>
        <frameset rows="80,*">
            <frame name="" noresize scrolling="no" src="overFrame.html">
            <frame name="vs" noresize src="forside.html">
        </frameset>
        <frame name="NoName" noresize src="hoejrebar.html">
        <frame name="NoName" noresize src="sider.html">
    </frameset>
        <noframes>

            <body bgcolor="#ffffff">
                <p></p>
            </body>

        </noframes>
    </frameset>

</html>

-- og det er selvfølgelig også absolut utestet, men ideen er, at id'et skal være tilstede i det yderste vindue !-)
Avatar billede JJ77 Juniormester
21. januar 2006 - 13:35 #18
Er det et problem at jeg har to indexfiler som ligger inde i hinanden?... kan ovenstående løse det problem, og hvorfor er det et problem? Jeg blev nød til at gøre det sådan for at få siden opdelt som den er nu.... kunne ihvertfald ikke selv finde en anden måde at gøre det på... er åben for forslag:)
Avatar billede roenving Novice
21. januar 2006 - 14:27 #19
Problemet er, at man ikke i top (det yderste dokument, som har adressen i adresselinjen !-) kan finde et element med det navn eller id, der henvises til ...

-- og hvis du nu erstatter din index1 med ovenstående så skulle det bare køre !o]

-- men selv ville jeg ikke finde på at bruge en struktur, som jeg opfatter som 1997-agtig, der findes muligheder for at nedsætte brugen af frames kraftigt, men lige nu gider jeg ikke at analysere det !-)
Avatar billede JJ77 Juniormester
31. januar 2006 - 14:05 #20
Det virker altså stadig ikke.. :( men smider du ikke et svar, så opretter jeg et nyt spørgsmål med lidt flere point. Du har ihvertfald fortjent nogle point. takker
Avatar billede roenving Novice
31. januar 2006 - 14:11 #21
Hvad har du forsøgt ?-)
Avatar billede JJ77 Juniormester
31. januar 2006 - 14:19 #22
Jeg har prøvet frem og tilbage, alt hvad jeg kunne, men det virker stadig ikke.. der sker ikke noget. www.softplanet.dk/index1.html

login = temp pass = temp


--------Index1.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>

    <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <meta name="generator" content="">
        <title></title>
    </head>

<frameset border="0" cols="*,900,*" frameborder="no" framespacing="0">
        <frame name="NoName" noresize src="sider.html">
    <frameset border="0" cols="150,*,150" frameborder="no" framespacing="0">
        <frameset Id="loginFrameset" rows="260,*">
            <frame name="login" noresize scrolling="no" src="members/venstrebar.php">
            <frame name="NoName" noresize scrolling="no" src="nedreVenstrebar.php">
        </frameset>
        <frameset rows="80,*">
            <frame name="" noresize scrolling="no" src="overFrame.html">
            <frame name="vs" noresize src="forside.html">
        </frameset>
        <frame name="NoName" noresize src="hoejrebar.html">
        <frame name="NoName" noresize src="sider.html">
    </frameset>
        <noframes>

            <body bgcolor="#ffffff">
                <p></p>
            </body>

        </noframes>
    </frameset>

</html>





-----------login.txt

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

    <head>
<script type="text/javascript">
        window.onload = function(){
          var t=document.body.scrollHeight;
          top.getElementById("loginFrameset").rows = t+22+'*';
        }
      </script>
    <style>


        <!--
                .stor{
                        color:#FFFFFF;
                        font:18 px helvetica,tahoma,Georgia,verdana,arial,Courier New;
                        text-decoration: none;
                        font-style: normal;                   
                        font-weight: bold;
                       
                }
        -->
          <!--
                .mellem{
                        color:#000000;
                        font:15 px Times New Roman,helvetica,tahoma,Georgia,verdana,arial,Courier New;
                        text-decoration: none;
                        font-style: normal;                   
                        font-weight: bold;
                       
                }
        -->
        <!--
                .lille{
                        color:#FFFFFF;
                        font:15px Times New Roman,Arial,Helvetica,sans-serif;
                        text-decoration: none;
                }
        -->
</style>

        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">

    </head>

    <body bgcolor="#cad9ea" scroll="no" link="#000011" vlink="#000011" alink="red" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
        <table width="160" border="0" cellspacing="0" cellpadding="0" bgcolor="#3f75a2">
            <tr height="80">
                <td height="80" background="../NewFiles/overkantLinkbar.gif"></td>
            </tr>
            <tr>
                <td background="../NewFiles/smaaOverskrifter.gif"><span class="stor"><b> Bruger login</b></span></td>
            </tr>
        </table>
        <form action="login.php" method="post" name="">
            <table width="64" border="0" cellspacing="2" cellpadding="0">
                <tr>
                    <td>
                        <table width="150" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                                <td><b><span class="mellem">Brugernavn</span></b></td>
                            </tr>
                            <tr>
                                <td><input type="text" name="username" value="<? echo $_REQUEST['username']; ?>" size="20" border="0"></td>
                            </tr>
                            <tr>
                                <td><b><span class="mellem">Adgangskode</span></b></td>
                            </tr>
                            <tr>
                                <td><input type="password" name="password" size="20" border="0"></td>
                            </tr>
                            <tr>
                                <td><input type="submit" name="submit" value="Log ind" border="0"></td>
                            </tr>
                            <tr>
                                <td><b><span class="lille"><a href="signup.php" target="vs">Opret</a> | <a href="reminder.php" target="vs">Glemt kode</a></span></b></td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </form>
    </body>

</html>




---------login.php

<?
require_once('common.php');


if(!isset($_REQUEST['submit']))
{
    if(!isset($title))
    {
        require_once("../inc/header.php");
        create_header();
    }
    require("login.txt");
}
else
{
    $userName = $_REQUEST['username'];
    $password = $_REQUEST['password'];
   
    require    ("../inc/config.php");
   
    if(($userId = is_valid($userName,$password,$con)) != 0)
    {
       
        session_start();
        $sessionId = session_id();
       
        if(set_session($userId,$sessionId,$con))
        {

            if(isset($ret) && is_valid_referer())
            {
                $url = $_REQUEST['url'];
                header("Location: $url");
            }
            else
            {
                header("Location: my.php");
            }
        }
        else
        {
            //echo mysql_error();
            require_once("../inc/header.php");
            create_header();

            echo '<p>&nbsp;</p>';
            echo '<table width="90%" align="center"><tr><td>';
           
            err_message("Der skete en fejl ved log ind. Kontakt venligst $member_service_email");
            require("login.txt");                 
        }
    }
    else
    {
            require("login.txt");   
            echo " <script type=\"text/javascript\">
            alert(\"Du har indtastet et forkert brugernavn eller password\");
            </script>";
                         
    }
}

echo '</td></tr></table>';

?>
Avatar billede roenving Novice
31. januar 2006 - 14:38 #23
-- der mangler da et komma ?-)

          top.getElementById("loginFrameset").rows = t+22+',*';

-- og du har ikke koden i http://www.softplanet.dk/members/my.php !-)
Avatar billede roenving Novice
31. januar 2006 - 14:38 #24
-- og der er røget et vigtigt document ud ,-(

top.document.getElementById("loginFrameset").rows = t+22+',*';
Avatar billede JJ77 Juniormester
31. januar 2006 - 14:57 #25
Hmmm.. det må jeg sku nok sige... HURRRRRRAAAA, nu virker det sq endelig :)
Takker mange gange, og puha, har fået grå hår over de frames....
Nu bliver du altså nød til at smide et svar så du kan få dine points:)
Avatar billede roenving Novice
31. januar 2006 - 15:37 #26
Velbekomme '-)

PS. Du kan altid i åne spørgsmål vælge Afsæt flere point oppe til venstre under Funktioner (men det er så ikke relevant her !-)
Avatar billede roenving Novice
03. februar 2006 - 17:35 #27
-- og tak for point ;~}
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