【发布时间】:2014-05-16 17:31:00
【问题描述】:
我在浏览我的问题时从 SO 中找到了this sample,但我想确切地知道如何在我的场景中使用它。
我有一个来自另一个域的 iframe,我想检测 iframe URL 何时从另一个域中的一个页面更改为另一个页面。所以,我想的是当 iframe 中的第二页打开时有这样的东西:
<script type="text/javascript">
$(document).ready(function() {
parent.postMessage("Second Page");
}
</script>
这就是我所需要的,我只需要接收 iframe 具有不同 url 的消息。现在在父页面上,我可能会有这样的内容:
<script type="text/javascript">
$(document).ready(function() {
$('#frame').load(function () {
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
// Listen to message from child window
eventer(messageEvent,function(e) {
var secondPageValue = // I want to get the value from the child page here, how can I do that?
},false);
});
});
</script>
我第一次尝试使用这个 postMessage 选项。我是否需要在子端包含一些 JS 库(例如 jQuery)才能完成这项工作?
【问题讨论】:
-
@C_B 在联系 iframe 所有者之前,我正在尝试确认是否可行。谢谢
标签: javascript jquery html iframe postmessage