Javascript Chrome扩展:以默认(Ctrl+;N)浏览器窗口的大小创建窗口?

Javascript Chrome扩展:以默认(Ctrl+;N)浏览器窗口的大小创建窗口?,javascript,google-chrome,google-chrome-extension,resize,window,Javascript,Google Chrome,Google Chrome Extension,Resize,Window,我正在写一篇管理标签的文章(受Chrome 60的启发)。我有一个弹出窗口,显示以前关闭的浏览器窗口及其选项卡: 当我单击“保存的窗口”时,事件处理程序调用 chrome.windows.create( { url: urls, // Array of the URLs of the tabs, here ['https://demozoo.org'] focused: true }, fu

我正在写一篇管理标签的文章(受Chrome 60的启发)。我有一个弹出窗口,显示以前关闭的浏览器窗口及其选项卡:

当我单击“保存的窗口”时,事件处理程序调用

chrome.windows.create(
        {
            url: urls,     // Array of the URLs of the tabs, here ['https://demozoo.org']
            focused: true
        },
        function(win) {
            // callback code omitted
        }
);
这是可行的,但生成的窗口与弹出窗口的大小相同,如果我按Ctrl+N键,则与正常浏览器窗口的大小不同。如何改为按Ctrl+N键创建窗口

一些解决方法:

编辑根据的建议,如果有打开的窗口,我可以使用
chrome.windows.get()
获取其大小和位置,然后按该大小创建。然而,我正在寻找一个解决方案,即使没有窗口打开,除了我的弹出窗口本身。在这种情况下,
chrome.windows.getAll()
只返回弹出窗口。但是,上次关闭(非弹出?)窗口的大小会保存在某个位置,因为我的弹出窗口中的Ctrl+N将以该大小打开一个窗口,而不是弹出窗口的大小

编辑2根据的建议,我可以通过捕获所有窗口来手动跟踪最近关闭的窗口的大小。(我还必须跟踪onCreated for,例如,在Chrome启动之后,在任何窗口关闭之前。)然而,由于Chrome已经跟踪了这一点,我想知道我是否可以读取Chrome的价值,而不是重复工作

Original如果我在控制台中检查弹出窗口,我可以运行

chrome.windows.create()
然后得到一个与普通窗口大小相同的窗口。但是,如果我提供任何URL,例如:

chrome.windows.create({url:'about:blank'})
该窗口具有父弹出窗口的大小。作为一种解决方法,我可以使用,然后手动添加选项卡,一次添加一个。但是,如果可能的话,我想保留
url:[…]
参数的便利性

或者,我可以使用
chrome.windows.create()
创建一个空窗口,获取其大小,关闭它,然后以指定的大小打开新窗口。不过,我不太喜欢闪烁的风险


我在网上查看过,找不到访问默认大小的方法,也找不到使用默认大小的
url
创建窗口的方法。信息在配置文件的
首选项中,但我找不到可靠的跨平台方法来构建配置文件目录的
文件://
URL。我在中也找不到一个API,它似乎提供了配置文件信息。

AFAICT Ctrl-N使用当前窗口大小,所以您不能简单地通过chrome.windows.get读取它并在中提供。create?@wOxxOm Good point-edited。如果您从窗口保存选项卡,为什么不同时保存窗口大小/位置?作为一个用户,如果我要求您保存窗口(及其选项卡),那么我当然希望您保存窗口大小和位置,并恢复它们,而不是Chrome认为windows现在应该的默认大小。如果您确实保存了大小/位置,那么只需在打开窗口时恢复大小/位置即可。对于您特别询问的问题:“默认”通常是上一个关闭窗口的大小。您只需要保存最后一个要关闭的窗口的大小。然后您可以使用该尺寸。@Makyen(保存尺寸)听起来是个不错的选择-。但是,我的个人用例不同,所以我仍然对默认值感兴趣。(上一个关闭窗口的大小)Chrome已经保存了大小---扩展可以访问保存的值吗?如果是这样,我就不必手动跟踪了。AFAICT Ctrl-N使用当前的窗口大小,所以您不能简单地通过chrome.windows.get读取它,并提供in.create?@wOxxOm Good point-edited。如果您从窗口保存选项卡,为什么不同时保存窗口大小/位置?作为一个用户,如果我要求您保存窗口(及其选项卡),那么我当然希望您保存窗口大小和位置,并恢复它们,而不是Chrome认为windows现在应该的默认大小。如果您确实保存了大小/位置,那么只需在打开窗口时恢复大小/位置即可。对于您特别询问的问题:“默认”通常是上一个关闭窗口的大小。您只需要保存最后一个要关闭的窗口的大小。然后您可以使用该尺寸。@Makyen(保存尺寸)听起来是个不错的选择-。但是,我的个人用例不同,所以我仍然对默认值感兴趣。(上一个关闭窗口的大小)Chrome已经保存了大小---扩展可以访问保存的值吗?如果是这样,我就不必手动跟踪它了。