Window.postMessage: Chrome klappt, Firefox & IE10 nicht

jeipack

Erfahrenes Mitglied
Hey


Edit 2:
Ok ich bin richtig verwirrt. Ich versuche das Problem nachzubauen, aber bringe es nicht hin. Egal was ich mache, es funktioniert.
Wenn ich die Seite auf der es nicht funktioniert lokal speichere und öffne funktioniert es auch da.
Hmm het jemand eine Idee was ich noch machen kann?



Edit:
Solange das Dokument im iFrame angezeigt wird geben aufrufe wie
jQuery("body")[0].scrollHeight
$("#outline").height()

immer 0. Hat jemand eine Ahnung wieso?


Alte Frage:

Ich benutze Window.postMessage (https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage) um zwischen iFrame und seinem Parent zu kommunizieren (Ich verwende dies, weil das iFrame nicht von der gleichen Domain kommt wie das Parent und ich somit nicht einfach via Javascript) darauf zugreiffen kann).

im iFrame habe ich folgenden Code:
Javascript:
jQuery(document).ready(function() {
    var object = [];
    object.height = jQuery("body")[0].scrollHeight;
    object.width = jQuery("body")[0].scrollWidth;
    parent.postMessage(object,"*");
});


Und im Parent:
Javascript:
$(window).on("message", function(e) {
    var data = e.originalEvent.data; 
    console.log(data);
    console.log(data.height); //this outputs '0' in Firefox and IE
    $("iframe").css("height", data.height);
    $("iframe").css("width", data.width);
});

Das Script dient dazu, die iFramegrösse dem Content anzupassen.

Die funktioniert wie gewünscht im Chrome. Aber im Firefox und IE10 bekomme ich bei console.log(data.height); "0".

Hat jemand eine Ahnung wieso?
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück