• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

iFrame passt sich nur einmal an

Schnieker

Neues Mitglied
Guten Tag,
da ich schon sehr lange auf der Suche bin und auch einfach keine Lösung für mein Problem finde, frage ich jetzt mal hier nach. Es geht darum, einen iFrame per JavaScript automatisch in der Höhe anzupassen. Ich habe dafür ein Script im Internet gefunden, welches das machen soll. Hier:
Code:
<script type="text/javascript">
  var framefenster = document.getElementsByTagName("iframe");
  var auto_resize_timer = window.setInterval("autoresize_frames()", 400);
  function autoresize_frames() {
    for (var i = 0; i < framefenster.length; ++i) {
        if(framefenster[i].contentWindow.document.body){
          var framefenster_size = framefenster[i].contentWindow.document.body.offsetHeight;
          if(document.all && !window.opera) {
            framefenster_size = framefenster[i].contentWindow.document.body.scrollHeight;
          }
          framefenster[i].style.height = framefenster_size + 'px';
        }
    }
  }
</script>
Das hier ist mein iFrame:
Code:
<iframe src="forum" width="100%" height="1000px" frameborder="0"></iframe>
Die einzubettende Seite liegt auf der selben Domain. Sollte also eigentlich alles kein Problem sein.
Allerdings passt sich das iFrame nur beim ersten Aufruf an! Wenn ich danach im iFrame eine andere Seite aufrufe, welche größer/kleiner ist, passt es sich nicht an, obwohl das vom Script her doch so sein sollte. So entnehme ich es dem Script jedenfalls, und es stand auch in der Beschreibung.
Hier ist die Seite auf der ihr das Problem findet: www.proxyversum.de
Ich hoffe ihr könnt mir helfen, bin am verzweifeln :(
 
Werbung:
Hi Schnieker,

stellt dein Script sicher das es auf anderen Seiten auch geladen wird?

P.S. die blinkende Scrollbar auf der Startseite finde ich höchst irritierend :D
 
Oh, ähm ja, das mit der Scrollbar liegt an Chrome. Firefox macht das richtig.

Was genau meintest du mit "das es auf der anderen Seite auch geladen wird"? Bitte erleutern :D
Also, auf der Seite die eingebettet wird ist jedenfalls nichts verändert und kein Code eingefügt.
 
Werbung:
Wenn ich dich richtig verstanden habe macht das iFrame genau einmal auf einer Seite was es soll aber auf den anderen Seiten gar nichts oder habe ich mich da verlesen?

Du könntest es über AJAX versuchen und das ganze mit einer Abfrage Versehen ob sich die Größe verändert hat, wenn ja soll das Script greifen. Wie genau man das umsetzen kann, kann ich dir leider auch nicht sagen :D
 
Ja. Also wenn sich die Seite im iFrame ändert, passt sich dieser nicht automatisch an.
Mit AJAX kenn ich mich fast überhaupt nicht aus, aber das erscheint mir ehrlich gesagt auch etwas zu kompliziert.
 
Werbung:
Guten Tag,
Wenn ich danach im iFrame eine andere Seite aufrufe, welche größer/kleiner ist, passt es sich nicht an, obwohl das vom Script her doch so sein sollte.

Nö, soll es nicht. In var framefenster liegen nur die Elemente, welche direkt nach dem Aufbau der Seite vorhanden sind. Was später hinzukommt, wird von der Funktion nicht erkannt.
 
Zurück
Oben