弹出窗口-在Safari中不同于其他浏览器的大小

Popup window - different size in Safari to other browsers

本文关键字:浏览器 其他 不同于 窗口 Safari      更新时间:2023-09-26

我使用下面的代码弹出一个窗口-它需要是一个精确的大小-它是在所有浏览器,除了Safari。

您可以用下面的2页直接测试。第一个方法创建一个带有链接的页面,点击该链接可以弹出窗口。第二个是被打开的页面,它有一个页面大小的警告。

在Safari Mac中显示尺寸:800 x 578 -在其他浏览器中显示为800 x 640(应该是)。

网页链接:

<html>
<body>
<a href="size.html" onclick="javascript:void window.open('size.html','1401806967791','width=800,height=640,toolbar=0,menubar=0,location=0,status=0,scrollbars=0,resizable=0,left=0,top=0');return false;">PacFace</a>
<br />
<a href="#size.html" onClick="window.open('size.html','pagename','resizable,height=640,width=800'); return false;">New Page</a>
</body>
</html>

. .和size.html:

<html>
<script>
var w = window.innerWidth;
var h = window.innerHeight;
alert(w + ' × ' + h);
</script>
</html>

有两个链接-在两种情况下它打开一个新窗口-在错误的高度(宽度是好的)-仅适用于safari。

如何让它在所有浏览器中弹出一个相同大小的新窗口?

我研究了很多,奇怪的是没有找到任何关于这个特定主题的

好的,所以这里可能有一些语法错误,但就像我在评论中说的,我无法测试它。试试这个:

function setWindowHeight(){
            var windowHeight = window.innerHeight;
            var outerHeight = window.outerHeight;
            var newHeight;
            if (windowHeight < 640) {
                newHeight = outerHeight + (outerHeight - windowHeight);
                document.getElementById('YourIdHere').style.height = newHeight + "px";
            }
        }

由于IOS有不同大小的边框,你需要对它们进行补偿,可能有更好的方法来做到这一点,但这应该可以完成工作。

相关文章: