有没有办法通过 JavaScript 设置弹出窗口的最小尺寸?
我的问题是,当有人尽可能地缩小内容时,内容看起来很愚蠢。
创建弹窗时,只能设置宽度和高度。但是由于创建了弹出窗口,这意味着您可以在弹出窗口加载时更改窗口的高度和宽度。只需在弹出窗口中放置一个 onload 事件:
window.onload = function() {
if (document.body.scrollHeight) {
var winWidth = document.body.scrollWidth;
var winHeight = document.body.scrollHeight;
} else if (document.documentElement.scrollHeight) {
var winHeight = document.documentElement.scrollHeight;
var winWidth = document.documentElement.scrollWidth;
} else {
var winHeight = document.documentElement.offsetHeight;
var winWidth = document.documentElement.offsetWidth;
}
window.resizeTo(winWidth, winHeight);
}
编辑:在 IE7、8、Chrome、Safari 4、Firefox 3 中测试。工作,但您可能需要考虑菜单+地址栏的大小等,因为窗口大小将是外部大小,此功能将找到内容的大小。所以为了安全起见,您可能应该添加几个像素,并在弹出窗口中关闭滚动条以确保它们不会占用任何空间。
我不相信您可以使用 Javascript 新窗口设置最小值。我知道您可以设置大小并禁用滚动条并防止调整大小,但这会回答最小值,但也会施加最大值,这可能是您不想要的。
使用 windows.open 时,您可以像这样指定窗口的高度和宽度:
window.open(" http://www.stackoverflow.com ","mywindow","menubar=1,resizable=1, width=350,height=250 ");
但这不是最小尺寸,因为当有更多空间时,窗户不会更大。您必须自己检查屏幕空间。
http://www.htmlgoodies.com/beyond/javascript/article.php/3471221
如链接中所示,您可以设置最小尺寸。如果要缩放它以使其变大,则必须从弹出窗口中进行缩放。
大多数浏览器都有最小宽度和高度。
Internet Explorer 7 最小宽度 > 250px 最小高度 > 150px