Heim  >  Fragen und Antworten  >  Hauptteil

JavaScript ändert die Iframe-Höhe, was zu einem Speicherüberlauf führt

Vor kurzem arbeite ich an einem Projekt, das die Verwendung von Iframes erfordert. Die Höhe des Inhalts im Inneren ist nicht konstant und ich bin heute auf ein Problem gestoßen, wenn die Höhe des Iframes mehrmals geändert wird. Zuerst dachte ich, dass es ein Problem mit der Art und Weise gibt, wie ich es geschrieben habe. Nach der Suche habe ich viele Methoden ausprobiert und festgestellt, dass es sich um Javascript oder jQuery handelt, solange die Höhe des Iframes beträgt Wenn es in kurzer Zeit mehrmals geändert wird, unabhängig davon, ob es sich im übergeordneten Fenster oder im Iframe befindet, führt dies zu einem Speicherüberlauf und dann zum Stillstand des Browsers.
Das Folgende ist eine einfache Funktion zum Ändern der Iframe-Höhe

function parentHeight(add) {
         var mainheight = $("body").height();
         mainheight = mainheight < 865 ? 865 : mainheight;
         $("#iframeId", parent.document).height(mainheight + add);
         }

Gibt es eine bessere Möglichkeit, die Iframe-Höhe dynamisch zu ändern oder den Iframe an die Inhaltshöhe anpassen zu lassen?

学习ing学习ing2662 Tage vor912

Antworte allen(1)Ich werde antworten

  • 迷茫

    迷茫2017-07-05 10:53:06

    <iframe id="iFrame1" name="iFrame1" width="100%" onload="this.height=iFrame1.document.body.scrollHeight" frameborder="0" src="index.htm"></iframe>

    Antwort
    0
  • StornierenAntwort