我正在编写文本编辑器,在切换到浏览器或电子书阅读器软件时,我需要应用程序窗口始终位于顶部。 据我所知,对于Windows用户,Chrome不提供任何解决方案。 创建窗口以使窗口始终位于顶部时是否有任何参数要发送?
或者我可以在应用程序中提供任何按钮来打开或关闭此功能吗?
我用来在 bg 中创建窗口的代码.js:
var launch = function () {
chrome.app.window.create('index.html', {
type: 'shell',
width: 440,
height: 680,
minWidth: 440,
maxHeight: 680,
id: 'paat-start'
});
};
chrome.app.runtime.onLaunched.addListener(launch);
chrome.commands.onCommand.addListener(launch);
感谢您的任何建议。
正如 Ben Wells 上面提到的,此功能现在在稳定版本(v33 或 v34)中可通过 chrome.app.windows.create
中的alwaysOnTop
选项使用。请注意,manifest.json
文件中需要特殊权限。例:
chrome.app.window.create('window.html', {
alwaysOnTop: true,
}, function (appWindow) {
// Window created and will remain on top of others.
// Change the property programmatically via:
//appWindow.setAlwaysOnTop();
});
manifest.json "permissions": [
"alwaysOnTopWindows"
]
这似乎已添加到问题26427002中,在问题159523002和问题48113024中变得稳定,感谢社区!
不久前我对此进行了研究,并希望对我的发现进行编目,因为从历史上看,文档中存在一些差异,这些差异以前声明所需权限的名称是alwaysOnTop
,但使用它会导致"权限未知"错误。
通读此功能的原始建议导致我发出326361其中提到权限设置实际上称为 alwaysOnTopWindows
.但是,当时使用这个会产生"需要Google Chrome开发频道或更高版本"的错误(可能是因为该功能还不稳定)。
我确实发现浏览源代码很奇怪,这两个权限可能是彼此的别名,但这可能是因为我不完全了解 Chromium 代码库。
chrome.app.window.create
在最新版本的Chrome中确实支持布尔alwaysOnTop
选项。该功能目前在大多数平台上处于测试版频道,其余平台上至少处于开发频道。