当我们使用:
打开一个窗口时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应用程序的繁重布局部分,因此不仅仅是“让用户滚动”,客户端也不希望这样。
有没有人遇到过这个?
我不介意浏览器嗅探并打开更大的窗口,但我知道这些日子很难过。
答案 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'。