1

我正在制作一个 chrome 扩展,并想添加一个选项来调整浏览器窗口的大小。我知道我不能用普通的 JS 调整窗口的大小。(window.resizeTo(600, 600);等不起作用)

但是通过扩展它是可能的。例如,您可以使用此工具调整窗口大小。问题是我不知道怎么做。

似乎也可以打开一个具有所需大小的新标签,但它不会打开一个普通窗口,而是一个标签。(如广告)

有谁知道如何实现这一目标?

4

2 回答 2

1

您可以尝试用于 chrome 扩展的窗口 API


chrome.windows.getCurrent(function(wind) {
alert(wind.id);
var maxWidth = window.screen.availWidth;
var maxHeight = window.screen.availHeight;
var updateInfo = {
    left: 0, //change those to whatever you like 
    top: 0,
    width: maxWidth,
    height: maxHeight
};
chrome.windows.update(wind.id, updateInfo);});
于 2021-02-18T12:17:05.940 回答
0

找到了答案:

我们需要 2 个 js 文件。background.js 和 main.js(内容 js 文件,名称可以是任何内容)。

main.js 无法访问扩展 api、选项卡、后台内容等。因此我们将从 main.js 文件向 background.js 发送一条消息,并在 background.js 文件中获取该消息并执行我们想要的。

主.js:

chrome.runtime.sendMessage(
  {
    action: "resizeWindow",
  },
  function (createdWindow) {
    console.log("Window Resize");
  }
);

背景.js:

  //Windows resize
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
  if (request && request.action === "resizeWindow") {
    chrome.windows.getCurrent(function (window) {
      var updateInfo = {
        width: 1200,
        height: 710,
      };
      (updateInfo.state = "normal"), chrome.windows.update(window.id, updateInfo);
    });
  }
});

请注意,我们需要updateInfo.state = "normal".

于 2021-02-19T07:02:11.587 回答