获取浏览器屏幕所在的坐标

Getting the coordinates where the browser screen is

我想用 javascript 和 window.open 打开一个新的 window 但我的想法是打开那个 window,一个小的,在水平和当前的垂直中心 window.

为简单起见,假设我有一个 1024x768 的屏幕,我想在其前面显示一个 200x100 的小 window。所以,我需要那个小 window 以 (512,384) 为中心,这是 (1024,768) 的中心。

像这样:

我正在使用此代码来发现当前坐标:

var x = window.screenX;
var y = window.screenY;
... proceed to window.open...

但这会产生一个像这样的 window

并且因为我有 2 个显示器,当浏览器在显示器 2 上时,这会在第一个显示器的上角产生一点 window。

有没有办法得到正确的坐标?

您可以使用 window 的 innerWidth 和 innerHeight 使其居中:

const popupWidth = 200;
const popupHeight = 100;
const popupTop = (window.innerHeight / 2) - (popupHeight / 2);
const popupLeft = (window.innerWidth / 2) - (popupWidth / 2);

window.open('https://google.com', 'Google Search', `width=${popupWidth},height=${popupHeight},top=${popupTop},left=${popupLeft}`);

注意:为了简单起见,我在那里使用了 ES6 字符串。

PS 我刚刚注意到有人对同一个问题发布了一个 link 并给出了相同类型的答案 - 这确实有效,所以如果无效,请解释为什么无效,以及您使用的是什么浏览器!