Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML]Ramka lokalna i rozmiar
Forum PHP.pl > Forum > Przedszkole
marian2299
Cześć. Zrobiłem stronę z ramką lokalną, zastosowałem tam ten skrypt "reziseIframe", żeby ramka dostosowywała wysokość do treści. Teraz mam problem bo jak wejdę na stronę to ramka się dopasuje, ale jak wejdę na podstronę np.: logowanie, to ramka zostaje duża. Co zrobić?
Tu można to zobaczyć, wejdźcie w menu

  1. <?php include "antet.php"; include "func.php"; ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <?php echo "<link rel='stylesheet' type='text/css' href='".$imgs.$fimgs."default.css'>"; ?>
  5. <head>
  6. <title><?php echo $title; ?></title>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <script type="text/javascript" src="resizeIframe.js"></script>
  9. </head>
  10.  
  11. <body style="background-image: url(tlo.jpg); background-position: center; background-attachment: fixed; background-repeat: no-repeat;" bgcolor="yellow">
  12. <table width="750" cellspacing="0" cellpadding="0" align="center" cellpadding="0" cellspacing="0">
  13. <tr>
  14.    <td colspan="2" bgcolor="#808080">
  15.            <img src="negative/logo.gif" width="750" height="200" border="0" quality="high" /></td>
  16. </tr>
  17. <tr>
  18.    <td width="100" valign="top" bgcolor="#95743e">
  19.        <table width="200" cellspacing="0" cellpadding="5">
  20.        <tr>
  21.            <td style="background-image: url('menu.png'); width: 200px; height: 278px;"><p style="margin-left: 30px; text-align:inherit;"><?php menu_up(); ?></p></td>
  22.        </tr>
  23.        </table>
  24.        <br />
  25.    </td>
  26.    <td valign="top" bgcolor="#95743e">
  27.        <table width="510" cellspacing="0" cellpadding="0" align="center" style="height: 100%; margin-top:5px">
  28.        <tr>
  29.            <td valign="middle" bgcolor="#95743e" background="tresc_naglowek.gif" style="height: 15px"></td>
  30.                    </tr>
  31.                <tr>
  32.            <td height="100%" height="100%" valign="middle" bgcolor="#95743e" background="tresc.gif">
  33. <iframe src="glowna.php" name="glowna" onload="resizeIframe(this)" width="100%" frameborder="0"></iframe>
  34.                             </td>
  35.                    </tr>
  36.                        <tr>
  37.            <td height="100%" height="100%" valign="middle" bgcolor="#95743e" background="tresc_dol.gif">
  38.  </td>
  39.                    </tr>
  40.  
  41.        
  42.        </table>
  43.    </td>
  44. </tr>
  45. <tr>
  46.    <td colspan="2" align="center" bgcolor="#808080">
  47.        <table width="100%" cellspacing="0" cellpadding="3">
  48.        <tr>
  49.            <td align="center" valign="middle" bgcolor="#95743e"><p style="text-align: right;"><?php menu_down(); ?></p></td>
  50.        </tr>
  51.        </table>
  52.    </td>
  53. </tr>
  54. </table>
  55. <?php about(); ?>
  56. </body>
  57.  
  58. </html>

Treść skryptu:
  1. function resizeIframe(x){try{x.scrolling='no',x.style.height=x.contentWindow.document.body.scrollHeight+30+'px'}catch(x){}}


Domyślam się, że trzeba coś zrobić w linkach w menu, są one zaincludowane z antet.php i wyglądają tak:
  1. <?php
  2. function menu_up()
  3. {
  4. if (isset($_SESSION["user"][1], $_GET["town"]))
  5. {
  6. $loc=town_xy($_GET["town"]);
  7. $map_lnk="<a class='q_link' target='glowna' href='pliki/map.php?x=".$loc[0]."&y=".$loc[1]."'><b>M</b>apa</a>";
  8. }
  9. else $map_lnk="<a class='q_link' target='glowna' href='pliki/map.php?x=0&y=0'><b>M</b>apa</a><br>";
  10. echo "<a class='q_link' target='glowna' href='glowna.php'><b>S</b>trona Główna</a><br>";
  11. if (!isset($_SESSION["user"][1])) echo "<a class='q_link' target='glowna' href='pliki/login.php'><b>L</b>ogowanie</a><br>
  12. <a class='q_link' target='glowna' href='pliki/register.php'><b>R</b>ejestracja</a><br> ";
  13. else echo "<a class='q_link' target='glowna' href='pliki/logout.php'><b>W</b>yjdź!</a><br> ";
  14. echo $map_lnk."  <a class='q_link' href='http://www.kapolithgra.fora.pl' target='_blank'><b>F</b>orum</a><br>
  15. <a class='q_link' target='glowna' href='pliki/about.php'><b>O</b> Grze</a><br> ";
  16. if (!isset($_SESSION["user"][1])) echo "<a class='q_link' target='glowna' href='pliki/lista_najlepszych.php'><b>N</b>ajlepsi</a><br>";
  17. if (isset($_SESSION["user"][1])) echo "<a class='q_link' target='glowna' href='pliki/profile_view.php?id=".$_SESSION["user"][0]."'><b>P</b>rofil</a><br><a class='q_link' target='glowna' href='pliki/towns.php'><b>P</b>rzegląd</a><br> ";
  18. if (isset($_SESSION["user"][1], $_GET["town"])) echo "<a class='q_link' target='glowna' href='pliki/town.php?town=".$_GET["town"]."'><b>C</b>entruj</a><br>";
  19. }
  20. ?>



PS: To devana ;].
wookieb
1) dodajesz do twojego iframe jakies id np
  1. <iframe id="twoj_iframe">

2) do wszystkicj linków które korzystaja z iframe dopisujesz
  1. onclick="resizeIframe(document.getElementByID('twoj_iframe'))"


Nie musisz dopisywac do kazdego linku, jezeli napiszesz do tego odpowiedni skrypt ktory zrobi to za ciebie ale to juz zostawiam twojej wenie.
marian2299
Wpisałem :

  1. <?php
  2. echo "<a class='q_link' target='glowna' href='pliki/login.php' onclick='resizeIframe(document.getElementByID(\"glowna\"))'><b>L</b>ogowanie</a><br>
  3. <a class='q_link' target='glowna' href='pliki/register.php'><b>R</b>ejestracja</a><br> "
  4. ?>

- nie działało, tak:
  1. <?php
  2. echo "<a class=\"q_link\" target=\"glowna\" href=\"pliki/login.php\" onclick=\"resizeIframe(document.getElementByID('glowna'))\"><b>L</b>ogowanie</a><br>
  3. <a class=\"q_link\" target=\"glowna\" href=\"pliki/register.php\"><b>R</b>ejestracja</a><br> ";
  4. ?>

Też nie... jak to zapisać ?
wookieb
Oczywiście literówka u mnie :/
getElementById
marian2299
Kurczę, dalej nie działa blinksmiley.gif.
Po prostu się nie zmienia, nazwa ramki jest id jest kod jest... nie rozumiem.
wookieb
Zobacz konsolę błędów w przeglądarce.
W FF Ctrl + Shift + J.

Wrzuć to co zrobiłeś na serwer to zobaczymy.
marian2299
FF:
  1. Błąd: document.getElementById("tm") is null
  2. Wiersz: 65
wookieb
Oznacza to ze nie masz elementu o podanym id na stronie...
Poza tym nadal nie poprawiles mojej literowki.
marian2299
Oczywiście, że poprawiłem. Poza tym tu jest "document.getElementById("tm")" tylko moje id to "glowna" i tak też jest w kodzie...
wookieb
Co nie zmienia faktu ze nadal nie masz elementu o id tm i javascript sie o to pluje. U ciebie wyglada to na zegarek. Dodaj ten element albo usun bledny javascript.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.