Benzer bir soruna rastladım ve çözmek için window.postMessage'ı kullandım.
Şu anda API yalnızca bir dizeyi geçirmeyi desteklemektedir, ancak çözümünüzü değiştirirseniz güçlü olabilir. Daha fazla detay kaynak sayfa (bir iframe tarafından tüketilen) Gönderen
here:
postMessage API 2 params beklediğini - Mesajı,
ex hedef: (ana sayfasından window.parent.postMessage("HELLO_PARENT", 'http://parent.com');
iframe içerir. örneğin Konteyner):
normalde
yaptığınız gibi bir olay dinleyici ekleyin window.addEventListener('message', handleMessage, false);
aynı etki alanları ve alanlar arası iframe'ler hem olay sistemini kullanmaktır destekleyen
function handleMessage(event) {
if (event.origin != "h ttp://child.com") { return; }
switch(event.data.message) {
case "HELLO_PARENT":
alert("Hello Child");
break;
}
}
daha net 'aynı source' ne olduğu yazınız:
Ve iframe içerir üst dosyada
. –iframe'inden parent.functionname() öğesini çağırabilirsiniz. – user10
aynı protokol, aynı ana makine, aynı bağlantı noktası –