iframe cross domain messaging mit jQuery postMessage-plugin
Ich versuche, die Kommunikation zwischen einem Kind iframe und seine Eltern mit dem folgenden plugin:
http://benalman.com/projects/jquery-postmessage-plugin/
Kann ich Folgen dem Beispiel und posten Sie eine Nachricht vom Kind zu den Eltern, aber nicht den anderen Weg, und ich wirklich brauchen, um in der Lage zu kommunizieren in beide Richtungen.
Den code auf die Eltern wie folgt:
var origin = document.location.protocol + '//' + document.location.host,
src = origin + '/Custom/Ui/Baseline/html/iframe-data-cash.htm#' + encodeURIComponent(document.location.href);
$(function () {
var $holder = $('#iframe'),
height,
$iframe = $('<iframe src="' + src + '" id="data-cash-iframe" width="100%" scrolling="no" allowtransparency="true" seamless="seamless" frameborder="0" marginheight="0" marginwidth="0"></iframe>');
//append iframe to DOM
$holder.append($iframe);
});
$(window).load(function () {
$.postMessage(
'hello world',
src,
parent.document.getElementById('data-cash-iframe').contentWindow
);
});
Ist und der code auf das Kind ist wie folgt:
$(function () {
var parentURL = decodeURIComponent(document.location.hash.replace(/^#/, ''));
$.receiveMessage(
function (e) {
alert(e.data);
},
parentURL
);
});
Kann ich wirklich nicht sehen, warum das nicht funktioniert und bin in einer verzweifelten Notwendigkeit Hilfe!
InformationsquelleAutor RyanP13 | 2012-06-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nie benutzt, das plugin kann nicht wirklich sagen, was ist falsch mit ihm, aber, alternativ können Sie verwenden HTML-5-postMessage.
Da Sie wollen, um Daten zu senden, um den iframe, registrieren Sie einen Ereignis-listener auf es:
Sicher sein, zu überprüfen Herkunft gegen Ihre vertrauenswürdigen Domäne, um Schäden zu verhindern, statt des"*", die alle akzeptieren.
Rufen Sie nun
Wieder, ändern Sie die "*" mit der Ziel-domain.
Ich hatte eine ähnliche Anforderung und landete mit postMessage senden von Daten vom Kind zu den Eltern. Dann, zum senden von Daten vom Eltern-zum Kind, kam ich an die Daten in einem query-string durch die iframe-src-Attribut. Indem Sie das tun, dann könnte ich parse den query-string und die Daten abzurufen, die in meiner Kind-Seite.