我正在使用此脚本打开并居中具有特定大小的弹出窗口。除了在Mac OS 10.9.5上的Safari版本9.0.1中,窗口以完整大小打开,它按预期工作。 它适用于Mac上的所有其他浏览器。
任何想法为什么指定的窗口大小在Safari中不起作用?
function PopupCenter(url, title, w, h) {
var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;
var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;
var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
var left = ((width / 2) - (w / 2)) + dualScreenLeft;
var top = ((height / 2) - (h / 2)) + dualScreenTop;
var newWindow = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no,scrollbars=yes,resizable=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
// Puts focus on the newWindow
if (window.focus) {
newWindow.focus();
}
}
用法:
<a href="#" onclick="PopupCenter('http://www.google.com','Window title','500','600'); return false;">Click</a>
答案 0 :(得分:0)
尝试将这些用于宽度/高度,这个javascript支持所有浏览器:
var width = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
var heigth = window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;
这可能是因为它使用了body.clientHeight / body.clientWidth,但不是100%肯定。
希望这有帮助!
答案 1 :(得分:0)
经过大量调查后,似乎这个问题只发生在这个特定的MacBook上。这不是一般问题,所以我暂时关闭这个topis。