gpt4 book ai didi

javascript - 在屏幕上居中弹出窗口?

转载 作者:IT老高 更新时间:2023-10-28 13:12:12 27 4
gpt4 key购买 nike

我们如何将通过javascript window.open函数打开的弹出窗口在屏幕变量的中心居中到当前选择的屏幕分辨率?

最佳答案

单/双显示器功能(感谢 http://www.xtf.dk - 谢谢!)

更新:感谢@Frost,它现在也可以在没有达到屏幕宽度和高度的窗口上工作!

如果您在双显示器上,窗口将水平居中,但不是垂直居中...使用此功能来解决这个问题。

const popupCenter = ({url, title, w, h}) => {
// Fixes dual-screen position Most browsers Firefox
const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;

const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;

const systemZoom = width / window.screen.availWidth;
const left = (width - w) / 2 / systemZoom + dualScreenLeft
const top = (height - h) / 2 / systemZoom + dualScreenTop
const newWindow = window.open(url, title,
`
scrollbars=yes,
width=${w / systemZoom},
height=${h / systemZoom},
top=${top},
left=${left}
`
)

if (window.focus) newWindow.focus();
}

用法示例:

popupCenter({url: 'http://www.xtf.dk', title: 'xtf', w: 900, h: 500});  

贷方:http://www.xtf.dk/2011/08/center-new-popup-window-even-on.html (我只想链接到这个页面,但以防万一这个网站出现故障,代码就在这里,干杯!)

关于javascript - 在屏幕上居中弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4068373/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com