window.open height isn't the same in Google Chrome as other browsers

James Simpson picture James Simpson · Aug 11, 2010 · Viewed 9.9k times · Source

I am using javascript's window.open to open a browser window on a user click at a specified width and height (760x581), and this works correctly on Internet Explorer, Safari, and Firefox, but Google Chrome is giving me issues. In the other browsers, the height is correctly used as the height of the content, but in Google Chrome it is making the actual browser window 581 pixels tall instead of the content. Is there a way to fix this?

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

Answer

donut picture donut · Oct 14, 2010

So I messed with things more and discovered that some browsers supported the property innerHeight for window.open and the following worked as expected in all browsers with the desired content height at 775px with 50px added to Chrome only:

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

I tested this in Chrome 6.0.472.63, Firefox 3.6, 3, and 2, IE 8 & 7, and Opera 10.62. When I was only using height Chrome would be about 50px too short and have scrollbars but all the browsers above were fine. With the added innerHeight property set at 50px more than what I want it worked in Chrome as well as all other browsers.

Update: It looks like this creates a problem in Safari with an added 50px of height. Will look into ways to get around that.