Layouthöhe dynamisch mit iframe

Natürlich will ich das, dass verusch Ich seid gestern zu erklären dass das div box sich der größe anpasst vom Iframe.
Und dazu muß sich erstmal die Höhe des iFrames dem Inhalt anpassen, der in ihm geladen wird, wenn der Scrollbalken im iFrame nicht zur Verfügung stehen soll, was sich nicht mit CSS, sondern mit Javascript realisieren lässt.

Mir scheint, dir sind nicht die Gesetzmäßigkeiten bekannt bzw. bewußt, die in einem iFrame vorherrschen.

mfg Maik
 
Und dazu muß sich erstmal die Höhe des iFrames dem Inhalt anpassen, der in ihm geladen wird, wenn der Scrollbalken im iFrame nicht zur Verfügung stehen soll.



Nein Nein, genau umgekehrt. Drück ich mich so schlecht ausoder verstehst du mich nicht.

es gibt ein Div Fenster. Dieses Div Fenster soll Variabel sein. Sprich innerhalb dieses Divs wird ein Iframe aufgerufen. Das Div soll also immer so groß sein, mit groß meine ich HÖHE wie der Datei die im Iframe aufgerufen wird. Sodass die komplette Datei ohne scrollen vom iframe zu sehen ist.

Die einzigste Scroll möglichkeit soll RECHTS GANZ Rechts sein am Explorer. Wie auf ebay.
 
Dann ist das empfohlene Thema doch genau das, was du hierfür benötigst; die iFrame-Höhe ergibt sich immer aus dem geladenen Inhalt, und das umschliessende DIV #box passt seine Höhe entsprechend an.

Ansonsten, wenn du sicherstellen kannst, dass die festgelegte absolute iFrame-Höhe ausreicht, um den vollständigen Inhalt ohne Scrollbalken einsehen zu können, sieht die Chose eben so aus, damit #box den iFrame komplett umschliesst:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<script language="JavaScript" type="text/javascript">
<!--
//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2008 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
function ControlVersion()
{
        var version;
        var axo;
        var e;
        // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
        try {
                // version will be set for 7.X or greater players
                axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
                version = axo.GetVariable("$version");
        } catch (e) {
        }
        if (!version)
        {
                try {
                        // version will be set for 6.X players only
                        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");

                        // installed player is some revision of 6.0
                        // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
                        // so we have to be careful.

                        // default to the first public version
                        version = "WIN 6,0,21,0";
                        // throws if AllowScripAccess does not exist (introduced in 6.0r47)
                        axo.AllowScriptAccess = "always";
                        // safe to call for 6.0r47 or greater
                        version = axo.GetVariable("$version");
                } catch (e) {
                }
        }
        if (!version)
        {
                try {
                        // version will be set for 4.X or 5.X player
                        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
                        version = axo.GetVariable("$version");
                } catch (e) {
                }
        }
        if (!version)
        {
                try {
                        // version will be set for 3.X player
                        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
                        version = "WIN 3,0,18,0";
                } catch (e) {
                }
        }
        if (!version)
        {
                try {
                        // version will be set for 2.X player
                        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                        version = "WIN 2,0,0,11";
                } catch (e) {
                        version = -1;
                }
        }

        return version;
}
// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
        // NS/Opera version >= 3 check for Flash plugin in plugin array
        var flashVer = -1;

        if (navigator.plugins != null && navigator.plugins.length > 0) {
                if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
                        var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
                        var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
                        var descArray = flashDescription.split(" ");
                        var tempArrayMajor = descArray[2].split(".");
                        var versionMajor = tempArrayMajor[0];
                        var versionMinor = tempArrayMajor[1];
                        var versionRevision = descArray[3];
                        if (versionRevision == "") {
                                versionRevision = descArray[4];
                        }
                        if (versionRevision[0] == "d") {
                                versionRevision = versionRevision.substring(1);
                        } else if (versionRevision[0] == "r") {
                                versionRevision = versionRevision.substring(1);
                                if (versionRevision.indexOf("d") > 0) {
                                        versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
                                }
                        }
                        var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
                }
        }
        // MSN/WebTV 2.6 supports Flash 4
        else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
        // WebTV 2.5 supports Flash 3
        else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
        // older WebTV supports Flash 2
        else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
        else if ( isIE && isWin && !isOpera ) {
                flashVer = ControlVersion();
        }
        return flashVer;
}
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
        versionStr = GetSwfVer();
        if (versionStr == -1 ) {
                return false;
        } else if (versionStr != 0) {
                if(isIE && isWin && !isOpera) {
                        // Given "WIN 2,0,0,11"
                        tempArray         = versionStr.split(" ");         // ["WIN", "2,0,0,11"]
                        tempString        = tempArray[1];                        // "2,0,0,11"
                        versionArray      = tempString.split(",");        // ['2', '0', '0', '11']
                } else {
                        versionArray      = versionStr.split(".");
                }
                var versionMajor      = versionArray[0];
                var versionMinor      = versionArray[1];
                var versionRevision   = versionArray[2];
                // is the major.revision >= requested major.revision AND the minor version >= requested minor
                if (versionMajor > parseFloat(reqMajorVer)) {
                        return true;
                } else if (versionMajor == parseFloat(reqMajorVer)) {
                        if (versionMinor > parseFloat(reqMinorVer))
                                return true;
                        else if (versionMinor == parseFloat(reqMinorVer)) {
                                if (versionRevision >= parseFloat(reqRevision))
                                        return true;
                        }
                }
                return false;
        }
}
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?');
  else
    return src + ext;
}
function AC_Generateobj(objAttrs, params, embedAttrs)
{
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }
  document.write(str);
}
function AC_FL_RunContent(){
  var ret =
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_SW_RunContent(){
  var ret =
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();
    switch (currArg){
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace":
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
// -->
</script>

<style type="text/css">   <!--

   html,body {
      margin: 0px;
      padding: 0px 1px 0 1px;
      font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;

   }
   #frame {
           width: 100%;
           text-align: center;

   }

   #spalte-a, #spalte-b {
      float: left;
      width: 35%;
   }

   #spalte-b {

      width: 65%;
   }
   #spalte-c {
   float:left;
      width: 0%;
   }

   div.look {
      margin: 5px 1px 0 1px;
      border: 0px solid #CCC;
      padding: 5px;
      font-size: 0.7em;
   }



-->
</style>

<style>
a:hover {text-decoration:underline; color: #000;}
a {text-decoration:none;}
</style>


<style>
body {
  margin: 20px 180px;
  background-color: #FFF;

}
#box {

  width: 100%;
  height: 100%;
  -moz-border-radius:5px;
  border:2px solid #CCC;
  text-align: left;
  background-color: #FFF;
}

#down {

  width: 100%;
  -moz-border-radius:5px;
  text-align: left;
  background-color: #FFF;
  border:2px solid #CCC;
}

#schnellsuche {

  width: 100%;
  -moz-border-radius:5px;
  text-align: left;
  background-color: #999;
}
#infos {

  width: 100%;
  -moz-border-radius:5px;
  border: #CCC;
  text-align: left;
  background-color: #CCC;
}
</style>


<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
</head>

<body>
<div id="box">



<div id="frame">

<div class="look">&nbsp;

  <img src="http://www.tutorials.de/forum/customprofilepics/profilepic31374_2.gif" height="430"  />
</div>


</div>

<iframe frameborder="0" scrolling="no" src="http://www.tutorials.de" height="400" width="100%" name="Framename">Alternativtext</iframe>


</div>
<br />
<div id="down">
<font color="#000000" size="1">   Sicherheit: SSL Verfahren | Contact: support@961bay.com | Hilfe| Werbung |
Unternehmen -> Datenschutz, Unternehmens - Vision, Preise</font>
</div>
<script type="text/javascript">
<!--
swfobject.registerObject("FlashID");
//-->
</script>
</body>
</html>


Ich für meinen Teil bin hier nun aus dem Thema endgültig raus, denn mehr gibt's dazu nicht mehr zu sagen, nachdem ich dir alle Möglichkeiten aufgezeigt habe, die im Machbaren liegen.

Wie du das nun auf die Kette bekommst, ist deine eigene Angelegenheit.

Schönes Wochenende!

mfg Maik
 
Einen hab ich noch ;-)

Da dir offensichtlich PHP auf dem Webserver zur Verfügung steht, kannst du den Inhalt doch anstelle des iFrames in einen DIV-Block laden, der in der Höhe ohne großes Zutun dynamisch ist.

mfg Maik
 
dann gib ich auch mal noch einen dazu.

du hast im iframe height="400" width="100%" geschrieben. Den Code hab ich auch 1/1 kopiert und eingefügt. man sieht auch nur eine höhe von 400 das rest sieht man nicht.


Nur mal so als anmerkung.
Habs eh aufgegeben das es noch klappt.
 
Dann reich ich dir noch etwas aus meiner Senftube rüber, da es um deine Lesekompetenz offensichtlich nicht zum Besten bestellt ist.

Ansonsten, wenn du sicherstellen kannst, dass die festgelegte absolute iFrame-Höhe ausreicht, um den vollständigen Inhalt ohne Scrollbalken einsehen zu können, sieht die Chose eben so aus, damit #box den iFrame komplett umschliesst:

HTML:
...

mfg Maik
 
kollege, bei mir ist alles top glaub mir mal. Aber wenn son thread bis 30 beiträgen hinausläuft dann blick ich nicht mehr durch.

Ich denke mal es ist ganz einfach wenn man als spezialist einmal den wunsch eines netten jungen umsetzt. Ich mein der code von meinen layout liegt ja vor. Warum bist du nicht so nett und änderst es um sodass es so ist wie ich es mir vorstelle. Es geht ja nämlich nicht darum dass ich mir meine arbeit von anderen machen lassen möchte. Das Ist ein Krümel von meinen jetztigen Projekt.

Ich kenn mich halt weder mit JS noch mit css gut aus und das sind sachen die müssen einmal gemacht werden.

Wenn du aber nicht mags ist es kein problem das schau ich einfach mal woanders nach.
 
Ich war doch bislang so nett, und hab dir hier alle Möglichkeiten serviert, und zum Teil in deinen Code eingepflanzt, die mit CSS machbar wären :eek:

Wenn sie dir nicht schmecken, mußt du eben was anderes aus der Speisekarte wählen :p

Sollte es dir auch nicht möglich sein, den relevanten und überschaubaren Code-Schnipsel des Beispiels http://www.doktormolle.de/temp/iframe_resize2/ in deine Seite zu transportieren, darfst du hier nochmal vorsprechen, bevor du in den kommenden zwei oder drei Beiträgen vollends den Faden verlierst.

Wie lang sich das Thema hier nun hinzieht, ist aber nicht meine Schuld, sondern ist auf deine mangelnden Kenntnisse und Fertigkeiten zurückzuführen.

Und wenn du dich in den genutzten Sprachen "Javascript" und "CSS" nicht (so gut) auskennst, sind das eigentlich die (Lern)Aufgaben, die du angehen müsstest, denn es ist nicht die Aufgabe eines Forums, Usern ihre festgefahrenen Projekte abzuwickeln, weil es ihnen am nötigen Grundlagen- / Fachwissen in den einzelnen Sprachen mangelt, und sie offensichtlich auch nicht gewillt sind, sich dahinterzuklemmen, ihre Wissenslücken zu schliessen.

mfg Maik
 
Hallo Maik,

ich habs jetzt endlich geschafft. leider hat es ein neues Problem ergeben daran sitzt ich auch seid 5 stunden. Nun bin ich hilfslos und brauch einen rat von einen spezialisten.



Ich hab eine Registerkate.

die ist beispielsweise so aufgebaut:

Übersicht| Autosuche| Autos inserieren

Autosuche und Autos inserieren hat dann die selbe Höhe wie Übersicht. obwohl der Inhalt dieser Registerkarte höher bzw. jenachden nicht die selbe Höhe hat. Also die Div box. Ich habs verschiedenstes versucht aber ich bekomme die Höhe von autosuche nicht größer. (wegen der Registerkarte).


Gibt es hierbei vielleicht auch ne möglichkeit das zu lösen?....

Lg
 

Neue Beiträge

Zurück