如何在同一应用的其他窗口上方创建 Chrome 应用窗口
How do I make a Chrome App window above other windows of the same app?
我正在开发一个Chrome应用程序,它与一些硬件通信并向用户显示一些信息。我希望它有两个窗口,并对它们的 z 顺序进行一些控制。
从内容开始
主窗口(我称之为"主"窗口)始终处于打开状态,尽管它可以最小化。它相当大(笔记本电脑的左半部分到中型台式机屏幕),并显示一些相当技术性的信息(这在这里并不重要)。
用户可以按下一个按钮并打开另一个窗口("仪表"窗口),该窗口很小(大约 100px x 100px),并将信息归结为"做事"按钮,以及范围从 0 到 100 的仪表。
所需的行为
我想要的是仪表窗口始终位于主窗口的顶部。这是我想要从仪表窗口中获得的关于 z 顺序的唯一特殊行为。
不是我想要的东西
我不希望仪表窗口始终位于所有内容之上。这就是我从Chrome的alwaysOnTop
中得到的。
一种可能性导致了另一个问题。
这是另一个问题,它几乎与我的问题相同,但在不同的框架(Adobe AIR)中,实际上根本不相似。但它确实给了我一个想法,当且仅当没有其他窗口覆盖任一窗口时,才使仪表窗口最顶部。这可能不完全按照我想要的方式工作,但它会很接近(r)。
不幸的是,这将要求我尝试了解系统中所有其他相当侵入性的窗口,而且我不知道有什么方法可以做到这一点。
您可以通过收听主窗口的onBoundsChanged
,然后打开仪表窗口alwaysOnTop
然后再次关闭来伪造这一点。
firstWindow.onBoundsChanged.addListener(function() {
secondWindow.setAlwaysOnTop(true);
secondWindow.setAlwaysOnTop(false);
});
这不是一个完美的解决方案,可能不适用于所有环境。另一种方法是执行类似于 windows 示例的操作,该示例强制第二个窗口停留在第一个窗口的右侧。
firstWindow.onBoundsChanged.addListener(function() {
var bounds = firstWindow.outerBounds;
secondWindow.outerBounds.left = bounds.left + bounds.width + 5;
});
相关文章:
- Chrome应用程序调整窗口大小保持纵横比
- 在我的应用程序中,当我使用targent as_blank时,弹出窗口被阻止
- Chrome应用程序在全屏中创建新窗口-html元素不是全高的
- 如何将 html5 画布另存为窗口 8 Metro 应用程序中的图像文件
- 浏览器窗口中的应用内FB页面插件链接
- 阻止Jquery对话框内容的CSS应用于主窗口
- 应用程序引擎终结点:用于OAuth2授权的Javascript客户端库需要多个弹出窗口
- HTA应用程序:将窗口放在屏幕的右下角
- 在ios Cordova应用程序中打开iTunes窗口
- 谷歌应用脚本打开新窗口
- 通过jQuery或Javascript应用于父窗口的外部css规则
- IE窗口失去了对任何XMLHttpRequest启动Angular应用程序的关注
- 是否可以使用javascript激活windows应用程序窗口
- 在Metro应用程序中获取窗口尺寸
- 如何为Tide Sdk应用程序窗口设置固定大小
- 带有弹出窗口的Windows应用商店HTML应用程序
- 如何在同一应用的其他窗口上方创建 Chrome 应用窗口
- 处理 chrome 应用窗口外的点击
- 如何知道您的 Chrome 应用窗口何时完全打开
- 通过webview动态调整应用窗口(边界)的大小