我正在制作一个 chrome 扩展,并想添加一个选项来调整浏览器窗口的大小。我知道我不能用普通的 JS 调整窗口的大小。(window.resizeTo(600, 600);等不起作用)
但是通过扩展它是可能的。例如,您可以使用此工具调整窗口大小。问题是我不知道怎么做。
似乎也可以打开一个具有所需大小的新标签,但它不会打开一个普通窗口,而是一个标签。(如广告)
有谁知道如何实现这一目标?
您可以尝试用于 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);});
找到了答案:
我们需要 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".