首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让chrome.windows.create在同一显示器上显示窗口?

要让chrome.windows.create在同一显示器上显示窗口,可以通过指定窗口的left和top属性来实现。具体步骤如下:

  1. 首先,获取目标显示器的尺寸和位置信息。可以使用chrome.system.display.getInfo()方法来获取所有显示器的信息。该方法返回一个包含所有显示器信息的数组,包括每个显示器的位置、尺寸和工作区。
  2. 确定目标显示器的ID。可以根据显示器的位置信息和你要打开的窗口位置来确定目标显示器的ID。通过比较窗口的位置坐标与每个显示器的工作区坐标,找到包含窗口的显示器。
  3. 设置窗口的位置。在调用chrome.windows.create()方法创建新窗口时,使用left和top属性指定窗口在目标显示器上的位置。将这两个属性设置为目标显示器的工作区坐标的左上角,即可确保窗口在同一显示器上显示。

示例代码如下:

代码语言:txt
复制
chrome.system.display.getInfo(function (displayInfoArray) {
  var targetDisplayId;
  var targetLeft = 100; // 窗口左上角的横坐标
  var targetTop = 100; // 窗口左上角的纵坐标

  // 寻找包含窗口的目标显示器
  for (var i = 0; i < displayInfoArray.length; i++) {
    var display = displayInfoArray[i];
    if (
      targetLeft >= display.workArea.left &&
      targetTop >= display.workArea.top &&
      targetLeft < display.workArea.left + display.workArea.width &&
      targetTop < display.workArea.top + display.workArea.height
    ) {
      targetDisplayId = display.id;
      break;
    }
  }

  // 创建窗口并设置位置
  chrome.windows.create({
    left: targetLeft,
    top: targetTop,
    width: 800, // 窗口宽度
    height: 600, // 窗口高度
    url: 'https://www.example.com'
  });
});

这样,通过比较窗口的位置和显示器的工作区坐标,就可以确保chrome.windows.create在同一显示器上显示窗口。在示例代码中,我使用了https://www.example.com作为窗口的URL,你可以根据自己的需求来修改URL。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券