设置 JavaScript 弹出窗口的最小尺寸

Posted

技术标签:

【中文标题】设置 JavaScript 弹出窗口的最小尺寸【英文标题】:Setting the minimum size of a JavaScript popup window 【发布时间】:2010-10-26 04:01:48 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

那是因为我完全误解了这个问题。对不起。已修复,现在应该可以使用了。【参考方案2】:

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

【讨论】:

设置 resizing=no 似乎在大多数浏览器中都可以解决问题,但只有 IE 似乎关心它,其余的(Opera、FF、Chrome、Safari)忽略它! Petoj:首先,您这样做忽略了大约 25% 的浏览器市场份额。其次...将 resize 设置为 0 会阻止他们扩展它以及最小化它。如果您对此感到满意,那就太好了。我只是把它扔在那里,以防你希望他们可以选择扩大而不是缩小。【参考方案3】:

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

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

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

【讨论】:

另一件需要注意的事情:如果您将 resizable 设置为 1,它仍然允许有人将其调整为更小,绕过您可能想要的最小值。这可能很大程度上取决于作者认为“最低限度”是什么。【参考方案4】:

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

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

【讨论】:

【参考方案5】:

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

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

【讨论】:

仅供参考,Chrome v79 没有任何最小窗口大小。

以上是关于设置 JavaScript 弹出窗口的最小尺寸的主要内容,如果未能解决你的问题,请参考以下文章

JAVA咨询 消息框 最小化下能够弹出

如何在提交按钮上设置 javascript 弹出确认窗口的样式? [复制]

等待图像在 JavaScript 中加载

Jcrop - 弹出窗口中图像尺寸较小的问题

php如何制作弹出窗口

故事板:如何弹出不全屏