弹出窗口 window - Safari 中的大小与其他浏览器不同
Popup window - different size in Safari to other browsers
我正在使用以下代码弹出一个 window - 它需要是一个精确的大小 - 它在除 Safari 之外的所有浏览器中都有。
您可以直接使用以下 2 个页面进行测试。第一个创建一个带有 link 的页面,单击以弹出 window。第二个是打开的页面,其中包含页面大小的警报。
在 Safari 中 Mac 它显示尺寸:800 x 578 - 在所有其他浏览器中它是 800 x 640(它应该是)。
包含 link 的页面:
<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>
存在两个 link - 在这两种情况下它都会打开一个新的 window - 高度错误(宽度合适) - 仅在 safari 上。
如何让它在所有浏览器中以相同的大小弹出一个新的 window?
我对此进行了很多研究,奇怪的是没有找到关于这个特定主题的任何内容。
好的,所以这里可能存在一些语法错误,但正如我在评论中所说,我无法对其进行测试。试试这个:
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 有不同大小的边框,您需要补偿它们,可能有更好的方法来做到这一点,但这应该可以完成工作。
我正在使用以下代码弹出一个 window - 它需要是一个精确的大小 - 它在除 Safari 之外的所有浏览器中都有。
您可以直接使用以下 2 个页面进行测试。第一个创建一个带有 link 的页面,单击以弹出 window。第二个是打开的页面,其中包含页面大小的警报。
在 Safari 中 Mac 它显示尺寸:800 x 578 - 在所有其他浏览器中它是 800 x 640(它应该是)。
包含 link 的页面:
<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>
存在两个 link - 在这两种情况下它都会打开一个新的 window - 高度错误(宽度合适) - 仅在 safari 上。
如何让它在所有浏览器中以相同的大小弹出一个新的 window?
我对此进行了很多研究,奇怪的是没有找到关于这个特定主题的任何内容。
好的,所以这里可能存在一些语法错误,但正如我在评论中所说,我无法对其进行测试。试试这个:
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 有不同大小的边框,您需要补偿它们,可能有更好的方法来做到这一点,但这应该可以完成工作。