Google Chrome window.open height包含网址栏

时间:2010-01-12 11:45:24

标签: javascript html css google-chrome

当我们使用:

打开一个窗口时
window.open("/calendar",'calendar','width=950,height=576,titlebar=no,statusbar=no,menubar=no,resizable=no,scrollbars=no');

Firefox 3和IE 7打开它以使内容区域高度为576加上浏览器项目(URL栏,状态栏等)。

然而,Chrome会打开它,总高度为576,这意味着滚动条会出现在内容的右侧(然后是底部,因为宽度现在已减少)。

我该如何解决这个问题?它适用于Web应用程序的繁重布局部分,因此不仅仅是“让用户滚动”,客户端也不希望这样。

有没有人遇到过这个?

我不介意浏览器嗅探并打开更大的窗口,但我知道这些日子很难过。

4 个答案:

答案 0 :(得分:2)

不幸的是,没有办法可靠地控制window.open功能。例如,在Opera中,弹出窗口始终可以调整大小。并且出于安全原因,大多数浏览器始终显示URL栏。

要么做了haim evgi的链接建议,要么在弹出页面中设置overflow:hidden CSS,要么采用页内方法,如灯箱脚本。您可以使用这些页面在iframe中打开外部页面,您可以精确控制大小。它们通常看起来也更好。

答案 1 :(得分:1)

我知道这很愚蠢但你可以嗅到铬并增加身高。这就是我做的..

    wh=576;
    if (navigator.appVersion.indexOf('Chrome')>0) wh=wh+50;
window.open("/calendar",'calendar','width=950,height='+wh+',titlebar=no,statusbar=no,menubar=no,resizable=no,scrollbars=no');

答案 2 :(得分:1)

var popup = window.open("/calendar",'calendar','width=950,height=576,titlebar=no,statusbar=no,menubar=no,resizable=no,scrollbars=no');
popup.resizeBy(0, 576 - popup.innerHeight);

答案 3 :(得分:0)

只需更改' status = no'到' status = yes'。