Avatar billede cobra Nybegynder
04. juni 2003 - 16:20 Der er 4 kommentarer og
2 løsninger

Iframe der kan udvide sig.

Jeg kunne godt tænke mig at vide hvordan et iframe kan udvide et sig, alt efter hvor meget tekst eller billeder, der i det Html eller asp side man tag ind i iframet.
Tv2 har gjort det, under deres TVprogram  oversigt
http://tv.tv2.dk/tv/
Avatar billede ztyxx Nybegynder
04. juni 2003 - 16:21 #1
<iframe width_"100%" height="100%"></iframe>
Avatar billede cobra Nybegynder
04. juni 2003 - 16:29 #2
Nob
Avatar billede ztyxx Nybegynder
04. juni 2003 - 16:30 #3
doh, læste ikke ordentligt
Avatar billede thrytter Nybegynder
04. juni 2003 - 23:13 #4
Jeg har tidligere lavet en IE løsning som du måske kan bruge:

<body onload="setHeight();">
  <table>
    <tr id="tableRow" height="100">       
      <td>
        <iframe style="width:100%;height:100%" id="contentFrame" name="contentFrame" src="????"></iframe>
      </td>
    </tr>
  </table>
</body>

Alle sider som skal loades i iframen skal have <div id="idBottom"></div> placeret nederst på siden.

function setHeight()
{
  top.main.tableRow.height=top.main.contentFrame.idBottom.offsetTop+25;
  // 25 = lidt tolerance
  // main = framen som hovedsiden ligger i
}
Avatar billede edutasia Nybegynder
05. juni 2003 - 09:47 #5
Her er en funktion, du kan indsætte på alle sider, der skal loades i iframen:

<script>
function sizeToFit() {
  //find højden på denne side og indlæs den i variablen intHeight
  var intHeight = document.body.scrollHeight;
  //find iframen på hovedsiden og sæt dens højde = intHeight (husk at ændre id)
  parent.document.getElementById('iframeid').style.pixelHeight = intHeight;
}
</script>

Kald funktionen i onload-handleren i <body>-tagget:

  <body onload="sizeToFit()">
Avatar billede krogstrup Nybegynder
06. juni 2003 - 09:49 #6
Tv2´s script ser således ud:

function resizeIFrame()
{
  objTable  = GetElement("tblProgrammer");
  objIFrame = GetParentElement("ProgramListning");

  if (document.getElementById)
  {
      // IE5+, Mozilla, Gecko
        objIFrame.height = objTable.offsetHeight + 20;
  }
  else if (!document.getElementById && document.all)
  {
      // IE4
        objIFrame.style.height = (objTable.offsetHeight + 20) + "px";
  }
  else if (document.layers)
  {
    // Netscape 4 - egentlig ligemeget da den ikke understøtter IFrames
      return false;
  }
  else
  {
      return false;
  }
}


Læg mærke til kommentaren under Netscape tjek :-)
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