javascript - iframe通信中的post消息有键值系统吗

标签 javascript php jquery wordpress iframe

我的 iframe 代码 链接是http://example.org?pd=123

            var currentHeight = $('.comments_holder').outerHeight();
            var parent = window.parent;
            var targetOrigin = "my parent site link";
            if (parent && parent.postMessage) {
                parent.postMessage(currentHeight, targetOrigin);
            }

从此我需要将 div 的高度传递到主站点

现在我还想将另一个参数传递到主站点

                var count = 123;
                var parent = window.parent;
                var targetOrigin = "my parent site link";
                if (parent && parent.postMessage) {
                    parent.postMessage(count , targetOrigin);
                }

我的代码在主站点,即 WordPress 站点的 single.php

<script>
jQuery(document).ready(function($){
window.addEventListener('message', receiveMessage, false);

function receiveMessage(event)
{

what will if else condition here to get both the values 

} 

});
</script>

注意我无法根据 event.origin 检查,因为链接包含参数 例如 example.com?pd=123

此链接可能会更改

最佳答案

您可以将这组项目作为对象传递:

parent.postMessage({'height': currentHeight, 'stuff': 'foo'}, targetOrigin);

在您的示例中,“event.data”将包含传递的对象。例如:

function receiveMessage(event) {
   console.log(event.data.height);
}

参见https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage#The_dispatched_event了解更多详情。

关于javascript - iframe通信中的post消息有键值系统吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25215941/

相关文章:

javascript - jQuery - 翻转 DIV 问题

javascript - 高亮行未按预期 jquery 工作

javascript - 如何将数据元素同时推送到两个数组?

php - 发布禁用的选择字段 PHP

javascript - 表单内的 jQuery DOM 未在 for 循环中更新

Jquery验证引擎: Expression for Disallowing Only Certain Characters

javascript - 使用 array.reduce 方法统计重复元素

javascript - 用户代理,如何自动为不同的设备设置不同的 css 文件

javascript - php echo 和 JQuery .load 内的 Bootstrap 模式

javascript计算价格并在我在表单中插入数字后立即查看(输入类型 ='number' )