Chrome Packaged app,始终位于顶部窗口

时间:2013-11-13 17:11:06

标签: javascript google-chrome always-on-top google-chrome-app

我正在编写文本编辑器,当切换到浏览器或电子书阅读器软件时,我需要应用程序窗口始终位于顶部。据我所知,对于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);

感谢任何建议。

2 个答案:

答案 0 :(得分:8)

正如Ben Wells上面提到的,此功能 现在可通过alwaysOnTop中的chrome.app.windows.create选项在稳定版本(v33或v34)中使用。请注意,manifest.json文件中需要特殊权限。例如:

background.js
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"
]

这似乎已添加到issue 26427002中,由于issue 159523002而在issue 48113024the community中保持稳定!


我曾经对此进行了调查,并希望对我的调查结果进行编目,因为从历史角度来看,文档中存在一些差异which previously stated所需权限的名称为alwaysOnTop,但使用此导致了< strong>&#34;权限未知&#34; 错误。

通过original proposal for this feature阅读引导我issue 326361,其中提到权限设置实际上称为alwaysOnTopWindows。然而,当时使用这个产生了&#34;需要谷歌Chrome开发者频道或更新&#34; 错误(可能因为该功能尚未稳定)。

browsing the source code找到了它的特殊情况,这两个权限可能是彼此的别名,但这可能是因为我不完全理解Chromium代码库。< / p>

答案 1 :(得分:4)

chrome.app.window.create在更新版本的Chrome中支持布尔alwaysOnTop选项。该功能目前在大多数平台上都处于测试阶段,其余部分至少是开发频道。