Javascript 如何根据对象或iframe内容的长度动态更改其长度

Javascript 如何根据对象或iframe内容的长度动态更改其长度,javascript,jquery,object,iframe,Javascript,Jquery,Object,Iframe,我正在从事一个项目,其中网页由不同的片段组成,这些片段动态加载不同类型的对象。例如,在某一点上,一个页面可能有两个片段,一个显示视频,另一个显示一些文本,而在另一个时间,同一页面可能显示两个文本块。内容的更改取决于用户的查看,因此相同的片段(由和对象标记或iframe定义)可能包含视频(mp4、avi等)、文本(pdf、docx、txt等)或图像等 我遇到的问题与内容的大小(特别是长度)有关。object和iframe标记都由一个边界框分隔,我需要根据内容的长度调整边界框的大小。如果内容是一个3

我正在从事一个项目,其中网页由不同的片段组成,这些片段动态加载不同类型的对象。例如,在某一点上,一个页面可能有两个片段,一个显示视频,另一个显示一些文本,而在另一个时间,同一页面可能显示两个文本块。内容的更改取决于用户的查看,因此相同的片段(由和对象标记或iframe定义)可能包含视频(mp4、avi等)、文本(pdf、docx、txt等)或图像等

我遇到的问题与内容的大小(特别是长度)有关。object和iframe标记都由一个边界框分隔,我需要根据内容的长度调整边界框的大小。如果内容是一个30页长的PDF,我需要在网页中呈现所有30页。我不能让用户向下滚动查看PDF的内容,我需要它尽可能无缝地成为网页的一部分


找到的答案似乎提供了一个可能的解决办法。我不知道JQuery,但我可以学习。但是,我注意到这些示例中使用的内容始终是一个网页。在我的例子中,iframe的内容可以是许多不同的类型,我想知道JQuery是否可以用来确定非网页内容的大小。如果不行,谁能为我的问题提出一个解决方案?谢谢

您必须使用jquery或javascript来动态设置iframe的高度

这些应该有效

// For other good browsers.
$('iframe').load(function() {
  this.style.height =
  this.contentWindow.document.body.offsetHeight + 'px';
});

// Safari and Opera need a kick-start.
for (var i = 0, j = iFrames.length; i < j; i++) {
  var iSource = iFrames[i].src;
  iFrames[i].src = '';
  iFrames[i].src = iSource;
}
//适用于其他优秀浏览器。
$('iframe').load(函数(){
这是我的风格=
this.contentWindow.document.body.offsetHeight+'px';
});
//狩猎和歌剧需要一个轻松的开始。
对于(变量i=0,j=iFrames.length;i

有一整篇文章解释了这段代码

您将不得不使用jquery或javascript动态设置iframe的高度

这些应该有效

// For other good browsers.
$('iframe').load(function() {
  this.style.height =
  this.contentWindow.document.body.offsetHeight + 'px';
});

// Safari and Opera need a kick-start.
for (var i = 0, j = iFrames.length; i < j; i++) {
  var iSource = iFrames[i].src;
  iFrames[i].src = '';
  iFrames[i].src = iSource;
}
//适用于其他优秀浏览器。
$('iframe').load(函数(){
这是我的风格=
this.contentWindow.document.body.offsetHeight+'px';
});
//狩猎和歌剧需要一个轻松的开始。
对于(变量i=0,j=iFrames.length;i

有一整篇文章解释了这段代码

这更接近您想要的吗?这更接近你想要的吗?