"tanımsız bir işlev değil" hatası üretir. Ancak MDN tarihinde example code verilen kesin sözdizimi kullanarak, güzel bir Undefined is not a function
hata ile takdim ediliyorum. Böyle JavaScript içindeki iframe başlatılıyor ve benim sayfaya ekleme gibi çeşitli şeyleri, denedim ama aynı hata ile beni bıraktı. için aynı benim iframe seçmek için ayrı seçiciler var.postMessage() Ben bir iframe ve benim ana web sitesi arasında iletişim kurmak için çalışmaya <code>postMessage()</code> almaya çalışıyorum
Aşağıdaki JavaScript kodu vardır:
<script type="text/javascript">
$(document).ready(function() {
$('.editor').postMessage("A", "domain here");
});
function receiveMessage(event)
{
if (event.origin !== "domain here")
return;
// Do something
}
window.addEventListener("message", receiveMessage, false);
</script>
komut yukarıdaki benziyor sayfasında benim iframe, bir mesaj göndermeyi dener
: Daha sonra bir işlevi vardır
<iframe src="domain here/frameListener.html" class="editor"></iframe>
receiveMessage
herhangi bir mesaj yakalamak için ana web sayfasına bir yanıt olarak göndermek ediliyor. Son olarak, ben this question verilen cevaplar denedim: Ama bu benim sorunu çözmek vermedi. Bu nedenle bir kopyası olmaması gerekir.
Nasıl bu hata mesajının kurtulabilirim?
$('.editor').get(0).contentWindow.postMessage("A", "domain here");
Ayrıca, iframe
ait contentWindow
özelliğine erişmek gerekir: Eğer gerçek window
DOM öğesine almak gerekir ve bu konuda diyoruz böylece
'postMessage'' $ ('editörü') ise, 'Window' nesnesinin bir yöntemdir' – hindmost
@hindmost sayesinde, Jivings cevapta verilen örneğe kodumu değiştirdik bir jQuery nesnesidir, Ancak benim sorunu gidermek vermedi. Javascript yöntemlerini kullanmak isterseniz –