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

自古美人都是妖i 提交于 2019-12-04 03:59:39

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.

The problem still persists (Chrome17+), if you call window.open with height=600, the result window innerheight is 564px, which is 36px short (for the title bar on Windows). The title bar height is platform dependent so this is very annoying.

My solution is just added the difference to the height.

Well from what I've been able to find after searching Google for over an hour is that this is just how Google Chrome does it and we have to just use a workaround. What I am doing right now unless something better is found is just putting the following JS on the page that I am opening:

if (navigator.appVersion.indexOf('Chrome')>0) {
    window.resizeBy(0, 581 - window.innerHeight);
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!