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

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

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

【问题讨论】:

    标签: javascript popup size minimum


    【解决方案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.stackoverflow.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 没有任何最小窗口大小。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 2020-01-28
      • 1970-01-01
      • 2023-01-11
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      相关资源
      最近更新 更多