我真的需要别人的帮助>我在IFrame中有一个小图像,点击后会显示另一个图像并向下滑动一点。如何让IFrame根据其内容自动变大或变小?
非常感谢你!
*的修改 在对此进行了更多的研究后,我发现了很多声称(我没有测试过它们)来做我需要的例子,但只是在页面刷新之后。这是我不能做的事情。
答案 0 :(得分:1)
您可以使用JavaScript方法更改iFrame的大小。然后将该方法与iFrame的OnLoad事件相关联。
没有必要重新编写代码,因为它很短并且在上面的链接中指出了这一点。 有人说它在Opera中不起作用,但试试它是否适合你的需要。
答案 1 :(得分:0)
我认为你可以在加载事件或其中任何一个上没有iframe的情况下自动调整iframe的大小。但我只在ie7 +中测试过,它在3.6+ firefox和chrome中工作。
这就是我想出的。
var $app = $(window[options.name]),
$appContainer = $("#app-runner");
window.setInterval(function() {
var frameEl = $app[0].frameElement,
frameDoc = 0,
height = 0;
if (frameEl.contentDocument !== undefined) {
frameDoc = frameEl.contentDocument,
height = frameDoc.height || frameDoc.body.offsetHeight;
} else if (frameEl.document !== undefined && frameEl.document.documentElement !== undefined) {
frameDoc = frameEl.document.documentElement,
height = frameDoc.offsetHeight;
}
$appContainer.css("height", height);
}, 500);
显然,有更好的选择可以获得更好的表现。但这就是我提出的。 HTML很简单。只是把一个iframe包裹在一个id ===“app-runner”的div中。 iframe的高度应为100%。这样,不需要滚动条,应用程序每500ms自动调整大小(更好更快的结果=需要更多的处理器时间)