【发布时间】:2015-10-26 11:38:57
【问题描述】:
我创建了以下函数来将 iframe 元素的高度在加载后始终调整为 100%:
app.directive('iframeAutoSize', [function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.on('load', function() {
console.log(element[0]);
var iFrameHeight = element[0].contentWindow.document.body.scrollHeight + 'px';
element.css('height', iFrameHeight);
});
}
}}]);
用法:
<iframe iframe-auto-size src="..." />
问题:启动时出现以下错误:
Error: Permission denied to access property "document".
显然不允许在 iframe 元素上执行window.document。但是我怎么才能知道高度呢?
我更喜欢没有 jquery 的普通 angular/js 解决方案。
【问题讨论】:
-
访问该 iframe 的唯一方法是控制父域和 iframe 域中的代码
-
好的,所以我认为没有现有的解决方案可以嵌入外部页面并将组件调整到最大高度?
-
如果你可以控制 iframe 代码
-
@charlietfl 是的,我控制 iframe 组件,但不是要在 iframe 中加载的内容,
标签: javascript css angularjs iframe