【问题标题】:Chrome Packaged app, Always on top windowChrome 打包应用程序,始终位于顶部窗口
【发布时间】:2013-11-26 10:13:15
【问题描述】:

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

感谢您的任何建议。

【问题讨论】:

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


    【解决方案1】:

    正如 Ben Wells 上面提到的,此功能现在可以通过 chrome.app.windows.create 中的 alwaysOnTop 选项在稳定版本(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();
    });
    
    ma​​nifest.json
    "permissions": [
      "alwaysOnTopWindows"
    ]
    

    这似乎已添加到 issue 26427002,在 issue 159523002issue 48113024 中变得稳定,感谢 the community


    我前段时间对此进行了研究,并想对我的发现进行编目,因为从历史上看,文档中存在一些差异 which previously stated 所需权限的名称是 alwaysOnTop,但使用它会导致 " 权限未知”错误。

    阅读original proposal for this feature 将我带到issue 326361,其中提到权限设置实际上称为alwaysOnTopWindows。然而,当时使用这个会产生 “需要 Google Chrome 开发通道或更新版本” 错误(可能是因为该功能还不稳定)。

    确实browsing the source code 中发现它很奇怪,这两个权限可能是彼此的别名,但这可能是因为我不完全了解 Chromium 代码库。

    【讨论】:

    【解决方案2】:

    chrome.app.window.create 在最新版本的 Chrome 中支持布尔值 alwaysOnTop 选项。该功能目前在大多数平台上处于 beta 通道中,而在其余平台上至少处于开发通道中。

    【讨论】:

    • 这应该可以在 M33 中普遍使用。我们仍在解决 M32 中的一些问题。
    猜你喜欢
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多