当前位置: 首页 > 面试题库 >

在屏幕上居中显示弹出窗口?

耿运浩
2023-03-14
问题内容

如何将通过javascript window.open函数打开的弹出窗口居中显示在屏幕变量中心,以当前选定的屏幕分辨率为中心?


问题答案:

更新:它现在也可以在尚未超出屏幕宽度和高度的窗口上运行!

如果您使用双显示器,则窗口将水平居中,而不是垂直居中…使用此功能可以解决此问题。

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});


 类似资料:
  • 我一直在尝试使用pygame来显示游戏场景,但它似乎已经停止了对我的工作:在pygame关闭之前,它只在我创建的任何屏幕上显示一个灰色框,然后屏幕上应该显示的内容在退出之前短暂闪烁。例如,下面的最小代码显示灰色屏幕5秒钟,然后快速闪烁黑色并退出: 这似乎是屏幕显示的问题,而不是pygame本身的问题,因为我可以使用pg.image制作曲面并将其保存到图像文件中。save(),它们在那里看起来很好。

  • 我试图在屏幕上垂直和水平居中显示文本。这是我的密码 如果我将flex:1添加到文本中,标题也会居中,这是不期望的。我不知道这是否相关,但我也不能修改标题视图的高度。我该如何解决这个问题?这些问题可以在这种小吃上重现。

  • 我有一个内置于Java的应用程序,当应用程序中按下某个按钮时,另一个jframe应该会弹出一条消息。我制作的ant文件将可运行的jar放入我的Eclipse项目中的一个文件夹中。当jar构建完成后,我在它诞生的文件夹中运行jar,它运行良好。我可以点击使弹出窗口显示的按钮,它确实显示了。 当我把罐子移出并说,放在桌面上时,问题就来了。然后运行jar启动应用程序,但是按下按钮什么也不做(没有弹出窗口

  • 我读了关于JDialogsJOptionPane消息,但我还是无法让它工作。我有一个扩展JFrame的GUI类。我想做的就是在我的程序开始时有一个弹出窗口,通知用户一些事情。在我的主界面中,我创建了以下gui: 在那之后,我要展示橱窗。我在main方法中尝试了以下内容: 我还尝试将弹出窗口添加到GUI类中,如下所示 无论如何,我将如何使此窗口显示?我尝试过的每一种方法都编译了,但什么也没发生。 然

  • 问题内容: 我正在尝试使用wunderground的api,Leaflet和Cloudmade将天气图标显示在地图标记中。我已经显示了文本和带有图标图像的变量,但是我不确定如何显示它。这是我的代码: 我尝试了一下但没有成功: 有什么建议? 问题答案: 标记的bindPopup方法仅将HTML内容作为字符串,因此您还需要在标记周围加上引号-类似于 应该为您工作。