2010-08-11 142 views
6

我正在使用javascript的window.open打开用户单击指定宽度和高度(760x581)的浏览器窗口,并且这可以在Internet上正常工作资源管理器,Safari和Firefox,但谷歌浏览器给我的问题。在其他浏览器中,正确使用高度作为内容的高度,但在Google Chrome浏览器中,实际浏览器窗口高度为581像素,而不是内容。有没有办法来解决这个问题?window.open高度在谷歌浏览器不同于其他浏览器

<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> 
+0

作为一个便笺,'点击此处'几乎不是一个好的链接文本。 ;) – 2010-08-11 20:21:04

+0

哈哈很明显,只是一个例子;-) – 2010-08-11 20:22:21

回答

4

所以我搞砸的事情越来越发现,一些浏览器所支持的特性innerHeightwindow.open和在775px如预期以下工作在与所期望的内容的高度的所有浏览器与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,火狐3.6,图3和2中试验这一点,IE 8 & 7 ,Opera 10.62。当我仅仅使用height Chrome浏览器的大小约为50px,并且有滚动条,但上面的所有浏览器都很好。添加的innerHeight属性设置为比我希望在Chrome以及所有其他浏览器中工作的更高50px。

更新:它看起来像在Safari中创建了一个问题,增加了50px的高度。将研究如何解决这个问题。

+2

最近使用Chrome 14+对此进行了测试,看起来这不再是问题。 – donut 2011-10-19 23:14:22

0

那么从我已经能够在一个小时的谷歌搜索的后找的是,这是谷歌Chrome现在是怎么做的,我们必须只使用一种变通方法。我在做什么,现在,除非有更好的发现只是将下面的JS,我打开网页:

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

感谢您的解决方案。看起来,至少在Mac上,Chrome会将高度增加50px。不知道,如果它在其他平台上有什么不同。当其他浏览器正常运行时真的很烦人。让我想知道这是否只是一个错误,或者在Chrome中使用'window.open'时是否有其他选项可以设置。 – donut 2010-10-14 16:29:38

1

问题仍然存在(Chrome17 +),如果您使用height = 600调用window.open,则结果窗口innerheight为564px,这是36px短(用于Windows上的标题栏)。标题栏高度依赖于平台,所以这非常烦人。

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