1

有没有办法通过 JavaScript 设置弹出窗口的最小尺寸?

我的问题是,当有人尽可能地缩小内容时,内容看起来很愚蠢。

4

5 回答 5

3

创建弹窗时,只能设置宽度和高度。但是由于创建了弹出窗口,这意味着您可以在弹出窗口加载时更改窗口的高度和宽度。只需在弹出窗口中放置一个 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 中测试。工作,但您可能需要考虑菜单+地址栏的大小等,因为窗口大小将是外部大小,此功能将找到内容的大小。所以为了安全起见,您可能应该添加几个像素,并在弹出窗口中关闭滚动条以确保它们不会占用任何空间。

于 2009-05-14T12:22:06.883 回答
1

我不相信您可以使用 Javascript 新窗口设置最小值。我知道您可以设置大小并禁用滚动条并防止调整大小,但这会回答最小值,但也会施加最大值,这可能是您不想要的。

于 2009-05-14T12:23:07.553 回答
0

使用 windows.open 时,您可以像这样指定窗口的高度和宽度:

window.open(" http://www.stackoverflow.com ","mywindow","menubar=1,resizable=1, width=350,height=250 ");

但这不是最小尺寸,因为当有更多空间时,窗户不会更大。您必须自己检查屏幕空间。

于 2009-05-14T12:23:36.240 回答
0

http://www.htmlgoodies.com/beyond/javascript/article.php/3471221

如链接中所示,您可以设置最小尺寸。如果要缩放它以使其变大,则必须从弹出窗口中进行缩放。

于 2009-05-14T12:26:15.080 回答
0

大多数浏览器都有最小宽度和高度。

Internet Explorer 7 最小宽度 > 250px 最小高度 > 150px

于 2009-05-14T12:31:17.563 回答