Javascript 使用DavidBradshaw';s iframe大小调整器库

Javascript 使用DavidBradshaw';s iframe大小调整器库,javascript,html,iframe,iframe-resizer,Javascript,Html,Iframe,Iframe Resizer,我是JavaScript新手,在使用iframe resizer库时遇到问题 我有一个iFrame的角度组件HTML文件,其中包含以下代码。如您所见,我正在包括iframeResizer.min.js文件,并且正在使用srcdoc动态构建iFrame的内容(我在这个框架内容中包括iframeResizer.contentWindow.min.js文件): iFrameResize({log:true},#myIframe')FWIW,当我必须在angular中执行相同的操作时,我使用此处的方

我是JavaScript新手,在使用iframe resizer库时遇到问题

我有一个iFrame的角度组件HTML文件,其中包含以下代码。如您所见,我正在包括iframeResizer.min.js文件,并且正在使用srcdoc动态构建iFrame的内容(我在这个框架内容中包括iframeResizer.contentWindow.min.js文件):



iFrameResize({log:true},#myIframe')
FWIW,当我必须在angular中执行相同的操作时,我使用此处的方法创建一个指令,应用于Iframe以添加加载处理程序:

然后在加载处理程序中,我做了

        let $frame=$('#the-iframe');
        setInterval(function () {
            let height = parseInt($frame.contents().find('body').height());
            if (height !== oldHeight) {
                $frame.height(height + 30);
                oldHeight = height;
            }
        })

加上30用于填充问题,您的用例可能会有所不同

我正在查看github上的自述文件,他在脚本块中调用了iFrameResize函数,而不是iframeHi chiliNUT的加载,谢谢您的回复。我将对iframesize函数的调用改为一个脚本块。现在,“iFrameResize未定义”问题已经消失,但我仍然没有看到iFrame被调整大小,也没有看到日志。有什么想法吗?看来这可能是与Angular的兼容性问题?当我在我的组件中有代码时,我没有看到日志,但是当我把它放在索引文件中时,日志开始显示Hanks chiliNUT——不幸的是,我使用的是Angular 4。看起来像AngularJS:(我认为你的思路是正确的。看起来我们需要公开一些变量和行为,以便Angular可以使用它们。有人有这样的例子吗?@keharris我认为你可以完全跳过onload逻辑,保留
setInterval
部分,它仍然有效。我会将它与ifram结合使用吗e-resizer库?这对跨域iFrame有效吗?您可以使用它,但它不处理跨域。由于该库似乎不是角度特定的,我想知道它是否能解决您的所有问题,只要
$(document).ready(function(){iframesize({log:true},#myIframe');