tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Quaese
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
243
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Netzwerkidi Netzwerkidi ist offline Mitglied Gold
    Registriert seit
    Oct 2010
    Beiträge
    237
    Blog-Einträge
    1
    Hallo zusammen,

    ich habe ein kleines Problem, den Inhalt eines iFrames (SOP erfüllt) zu übernehmen.
    Wenn ich das Alert im folgenden Script drinlasse, dann wird der Inhalt eingelesen, und wenn das fehlt, ist kein Inhalt da. Ich vermute, das hängt damit zusammen, dass der Inhalt in dem Moment noch nicht eingelesen werden konnte, während nach einem alert genug Zeit war, ein Laufzeitproblem also.

    Vielleicht hat jemand einen Tipp, wie ich das Problem lösen kann? Wenn ich ohne den iFrame auskäme, also direkt den Inhalt übernehmen könnte aus dem File, das wäre noch besser.

    Im IE6 kommt immer die Fehlermeldung wie im Code, gibt es da einen workaround?


    Grüße
    Idi

    HTML-Code:
    <html>  
      <body>     
        <div id="myDiv">
        </div>  
    <script type="text/javascript">
     
      (function makeFrame() {
          var arr = ['mySameOriginFile1.html', 'mySameOriginFile2.html'],
              krit = 'mySameOriginFile2.html',
              appStrng = "";
    
          for (var i = 0, l = arr.length; i < l; i++) {
              if (arr[i] == krit) {
                  appStrng += "<iframe id=\"myIFrame\" src=\"" + arr[i] + "\" frameborder=\"0\" frameborder=\"0\"></iframe>";
              }
          }
          document.getElementById("myDiv").innerHTML = appStrng;
          var ifr = document.getElementById('myIFrame');
          alert(typeof ifr);
          var content = ifr.contentWindow.document.getElementsByTagName('body')[0].innerHTML;
    
          document.getElementById("myDiv").innerHTML = content;
          // IE 6 msg: innerHTML ist null oder kein Objekt
      })();
      </script>          
      </body>
    </html>
    Die Files sehen so aus:

    HTML-Code:
    <html>
      <body>
        <h3>mySameOriginFile1</h3> 
        <h4>mySameOriginFile1...</h4>
      </body>
    </html>
    HTML-Code:
    <html>
      <body>
        <h3>mySameOriginFile2</h3> 
        <h4>mySameOriginFile2...</h4>
      </body>
    </html>
    Geändert von Netzwerkidi (13.10.11 um 21:01 Uhr)
     

  2. #2
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    versuch mal auf das onload-Event des iFrames zu reagieren:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
      (function makeFrame() {
          var arr = ['mySameOriginFile1.html', 'mySameOriginFile2.html'],
              krit = 'mySameOriginFile2.html',
              appStrng = "";
     
          for (var i = 0, l = arr.length; i < l; i++) {
              if (arr[i] == krit) {
                  appStrng += "<iframe id=\"myIFrame\" src=\"" + arr[i] + "\" frameborder=\"0\" frameborder=\"0\"></iframe>";
              }
          }
          document.getElementById("myDiv").innerHTML = appStrng;
          var ifr = document.getElementById('myIFrame');
     
          ifr.onload = function(){
            var content = ifr.contentWindow.document.getElementsByTagName('body')[0].innerHTML;
            document.getElementById("myDiv").innerHTML = content;
          }
      })();
    Ciao
    Quaese
    Netzwerkidi bedankt sich. 
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  3. #3
    Netzwerkidi Netzwerkidi ist offline Mitglied Gold
    Registriert seit
    Oct 2010
    Beiträge
    237
    Blog-Einträge
    1
    Hai Quaese,

    ja, das macht er nun. Ich finde es deshalb bemerkenswert, weil ein setTimeout mit 10 Sekunden, das ich mal testweise eingebaut hatte, nicht wirkte. Der Inhalt wird zwar angezeigt, aber die Fehlermeldung kommt immer noch.

    Danke + Grüße
    Idi
     

Ähnliche Themen

  1. jscript im iFrame soll src in anderem iFrame öffnen
    Von corps_ontwerpers im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 30.07.09, 04:27
  2. Antworten: 1
    Letzter Beitrag: 16.04.05, 16:49
  3. Antworten: 0
    Letzter Beitrag: 07.04.05, 21:51
  4. IFrame editable setzen ( bei Bedarf, also wenn der Iframe lädt :))
    Von Muffinmampfer im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 18.12.04, 12:30
  5. über Onload in Iframe seite in zweites iframe laden
    Von Vyrobca im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 28.07.04, 16:34