postMessage源IFrame

编程入门 行业动态 更新时间:2024-10-27 05:32:11
本文介绍了postMessage源IFrame的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在使用带有跨域iframe的网站,使用postMessage将其调整为正确的高度。我唯一的问题是确定哪个iframe有哪个高度。我目前设置的方式是,当一个iframe将其高度发送到父级,所有的iframe的高度都会改变。

I'm working on a website with cross-domain iframes that are resized to the correct height using postMessage. The only problem I'm having is identifying which iframe has which height. The way I've currently got it set up is that when one iframe sends its height to the parent, all the iframes' heights are changed.

父级:

var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent"; var eventer = window[eventMethod]; var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message"; eventer(messageEvent, function(e) { $('iframe').height(e.data); }, false);

Iframe:

var updateHeight = function() { if(window.parent) { window.parent.postMessage($('.widget').outerHeight(), '*'); } };

有什么方法可以识别哪个iframe发送了 $ c> event?

Is there some way to identify which iframe sent the message event?

推荐答案

我找到了解决方案:如何在JavaScript窗口和框架之间共享数据

父级:

var frames = document.getElementsByTagName('iframe'); for (var i = 0; i < frames.length; i++) { if (frames[i].contentWindow === event.source) { $(frames[i]).height(event.data); //the height sent from iframe break; } }

更多推荐

postMessage源IFrame

本文发布于:2023-10-11 17:47:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1482395.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:postMessage   IFrame

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!