【发布时间】:2015-01-29 09:42:58
【问题描述】:
我正在尝试让postMessage() 在 iframe 和我的主网站之间进行通信。但是,使用MDN 上的example code 中给出的确切语法,我收到了一个不错的Undefined is not a function 错误。我尝试了几件事,例如在 Javascript 中初始化 iframe 并将其附加到我的页面,但这给我留下了同样的错误。有单独的选择器来选择我的 iframe 也是如此。
我有以下 Javascript 代码:
<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>
上面的脚本尝试在页面上向我的 iframe 发送消息,如下所示:
<iframe src="domain here/frameListener.html" class="editor"></iframe>
然后它有一个函数receiveMessage 来捕获作为对主网页的响应而发送的任何消息。最后但并非最不重要的一点是,我尝试了this question 中给出的答案:但这并没有解决我的问题。因此它不是重复的。
我怎样才能摆脱这个错误信息?
【问题讨论】:
-
postMessage是Window对象的方法,而$('.editor')是 jQuery 对象 -
@hindmost 谢谢,我已将代码更改为 Jivings 答案中给出的示例,但这并没有解决我的问题。
-
难以置信!因错误的 MDN 示例而浪费时间...感谢您的提问和回答!
标签: javascript jquery html iframe postmessage