我正在使用https://github.com/davidjbradshaw/iframe-resizer。
iframeResizer.min.js在父页面中,
iframeResizer.contentWindow.min.js在子目录中
$(document).ready(function () {
iFrameResize({log:true,checkOrigin:false});
});
日志记录似乎表明消息传递开始正常-它像这样开始
[iFrameSizer] [主机页面:contentframe] [iFrame.onload]将msg发送到iframe [contentframe](contentframe:8:false:true:32:true:true:null:bodyOffset:null:null:0:false:parent:滚动)targetOrigin:* iframeResizer.min.js:11:62
[iFrameSizer] [contentframe]初始化iFrame(http://xxxxxxx/)
iframeResizer.contentWindow.min.js:9:693
[iFrameSizer] [contentframe]父对象的TargetOrigin设置为:* iframeResizer.contentWindow.min.js:9:693
[iFrameSizer] [contentframe] HTML和主体高度设置为“自动” iframeResizer.contentWindow.min.js:9:693
[iFrameSizer] [contentframe]启用公共方法iframeResizer.contentWindow.min.js:9:693
[iFrameSizer] [contentframe]添加事件侦听器:动画开始
并以
[iFrameSizer] [contentframe]触发iframeResizer.contentWindow.min.js:9:693上的事件锁定
[iFrameSizer] [contentframe]向主机页面发送消息(contentframe:655:748:init)iframeResizer.contentWindow.min.js:9:693
[iFrameSizer] [contentframe]触发事件锁定iframeResizer.contentWindow.min.js:9:693
[iFrameSizer] [contentframe]-iframeResizer.contentWindow.min.js:9:693
[iFrameSizer] [主页:contentframe] iFrame没有响应。检查iFrameResizer.contentWindow.js是否已加载到iFrame中
我正在尝试在Moodle中使用它,如果有所作为?
有什么想法可以阻止在父级上接收消息吗?
在演示页面上,这样的混乱似乎会导致向父级发送一条消息
[iFrameSizer] [主机页面]已收到:[iFrameSizer] iFrameResizer0:284:1588:init
但是我似乎没有收到收到的消息(因此它没有调整父级的大小)
最佳答案
这与requirejs有关。
我最终在其中包含一个包含以下代码的js文件:
require(['/theme/elegance/javascript/iframeResizer.min.js'], function (iFrameResize) {
iFrameResize({log:true,checkOrigin:false});
});
这似乎以我需要的方式注册了iFrameResize对象。