设置 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 弹出窗口的最小尺寸的主要内容,如果未能解决你的问题,请参考以下文章