【问题标题】:window.open height isn't the same in Google Chrome as other browsers谷歌浏览器中的 window.open 高度与其他浏览器不同
【发布时间】:2011-03-28 14:28:35
【问题描述】:

我正在使用 javascript 的 window.open 在用户点击指定宽度和高度 (760x581) 时打开浏览器窗口,这在 Internet Explorer、Safari 和 Firefox 上正常工作,但 Google Chrome 给我带来了问题。在其他浏览器中,高度被正确地用作内容的高度,但在 Google Chrome 中,它使实际浏览器窗口的高度为 581 像素而不是内容。有没有办法解决这个问题?

<a href="http://domain.com/example.php" onclick="window.open('http://domain.com/example.php', '', 'width=760, height=581, top=15, left=15, toolbar=0, menubar=0, scrollbars=1, resizable=1, copyhistory=0, location=0, directories=0, status=1, titlebar=1, personalbar=0');return false">click here</a>

【问题讨论】:

  • 附带说明,“单击此处”几乎不是一个好的链接文本。 ;)
  • 哈哈好吧,只是一个例子;-)

标签: javascript google-chrome popup window.open


【解决方案1】:

问题依然存在(Chrome17+),如果你调用window.open的height=600,结果window innerheight是564px,短36px(对于Windows上的标题栏)。标题栏高度取决于平台,所以这很烦人。

我的解决方案只是增加了高度的差异。

【讨论】:

    【解决方案2】:

    所以我搞砸了更多的事情,发现一些浏览器支持属性innerHeightwindow.open 并且以下在所有浏览器中都按预期工作,所需的内容高度为 775 像素,仅向 Chrome 添加了 50 像素:

    window.open($(this).attr('href'), 'videoplayer',
       'width=1242, height=775, innerHeight=825, location=no, menubar=no, status=no, titlebar=no, scrollbars=no'
    );
    

    我在 Chrome 6.0.472.63、Firefox 3.6、3 和 2、IE 8 和 7 以及 Opera 10.62 中对此进行了测试。当我只使用height 时,Chrome 会短约 50 像素并且有滚动条,但上面的所有浏览器都很好。添加的 innerHeight 属性设置为比我希望它在 Chrome 和所有其他浏览器中工作的值高 50 像素。

    更新: 看起来这在 Safari 中造成了一个问题,增加了 50px 的高度。将研究解决该问题的方法。

    【讨论】:

    • 最近用 Chrome 14+ 对此进行了测试,看来这不再是问题了。
    【解决方案3】:

    好吧,我在 Google 搜索了一个多小时后发现,这正是 Google Chrome 的做法,我们只能使用一种解决方法。除非找到更好的东西,否则我现在正在做的只是将以下 JS 放在我正在打开的页面上:

    if (navigator.appVersion.indexOf('Chrome')>0) {
        window.resizeBy(0, 581 - window.innerHeight);
    }
    

    【讨论】:

    • 感谢您的解决方案。看起来,至少在 Mac 上,Chrome 增加了 50px 的高度。不知道在其他平台上是否有任何不同。当所有其他浏览器都正常运行时,真的很烦人。让我想知道这是否只是一个错误,或者在 Chrome 中使用 window.open 时是否还有其他选项需要设置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 2015-08-03
    • 2011-02-04
    • 1970-01-01
    • 2012-07-31
    相关资源
    最近更新 更多