1

我正在开发一个项目,其中网页由不同的片段组成,这些片段动态加载了不同类型的对象。例如,在某个时刻,一个页面可能有 2 个片段,一个显示视频,另一个显示一些文本,而在另一个时间,同一页面可能显示 2 个文本块。内容的变化取决于查看它的用户,因为相同的片段(由对象标签或 iframe 定义)可能包含视频(mp4、avi 等)或文本(pdf、docx、txt 等),或者图片等

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

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

4

1 回答 1

1

您将不得不使用 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;
}

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

于 2012-11-20T21:47:13.850 回答