根据内容宽度和高度调整弹出窗口大小

3

我有一个大小不固定的HTML页面。根据条件,我会隐藏一些内容。如何使用JavaScript获取body的宽度和高度,以便根据页面内容的数量动态调整窗口大小。

谢谢...

2个回答

5
我建议小心调整浏览器窗口大小,因为这可能很快变得令人烦恼(特别是如果用户直接打开页面而不是作为弹出窗口)。如果用户想要一些空间来使内容更容易阅读怎么办?在大多数浏览器中,您还可以关闭某些Javascript效果,如移动和调整窗口-它们甚至可能默认关闭。
icabod的想法是将内容包装在一个div中,至少对于高度应该没问题。如果宽度仍然显示当前窗口的整个宽度,则尝试添加float:left并将其适应内容的宽度。
一个好的解决方案是使用lightbox脚本显示内容。我不知道有没有可以调整HTML/iframed内容的脚本,但值得一试。

1
这个想法对我很有用...但我添加了一些宽度和高度的值。所以现在它适用于所有尺寸的页面...函数windowResize() { var width= document.getElementById("resizeDiv").offsetWidth ; var height= document.getElementById("resizeDiv").offsetHeight ; alert(height); window.resizeTo(width+20,height+100); } - coder247

3

嗯,document.body.offsetWidthdocument.body.offsetHeight 可以帮助你解决问题。请记住,设置窗口大小与视口大小是不同的,这取决于您是否有状态栏等。

哦,您正在寻找视口大小。这里有一个链接,可以解释如何在各种浏览器中实现。


但是这给了我最大化窗口的大小。对我来说,它是1280。我想要获取窗口内容的宽度和高度。它通常在200到300之间变化。 - coder247
1
使用相同的思路,您可以将页面包装在一个命名的div或span中,然后获取其大小吗? - icabod
@icabod,这会得到相同的结果。 - coder247
@codere247:我误解了你的问题。现在我已经添加了一个链接到一个网站,应该可以给你想要的东西。 - Robusto
我会极其小心任何涉及浏览器检测的代码片段。 - Álvaro González

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接