很抱歉,现在不能再强制一个窗口保持始终置顶的状态了。不过,如果你只需要打开一个位于屏幕右下角的窗口,请查看这个答案:将Chrome应用程序窗口设置为在屏幕右下角打开。
以前,一种选择是使用 chrome.windows.create({ type: 'panel' })
。面板可以有任何大小和位置,支持始终置顶功能,可以显示任意代码...但现在已经被废弃了,如你在文档中所见:
"panel"
在该 API 中已被弃用。 Chrome 应用程序风格的面板窗口。扩展程序只能查看自己的面板窗口。
移除的主要原因是太难以维护,正如这篇文章中所述。
另一个选择曾经是 webKitNotifications.createHTMLNotification()
, 但那也已经被废弃了:
webKitNotifications.createHTMLNotification()
已被弃用。新的Web Notifications API只允许文本。Chrome Notifications API将很快升级到稳定版,并更新Web Notifications以使用新的富通知格式。
但你并不孤单。像Always On Top for YouTube™或Picture in Picture Viewer这样的扩展程序依赖于始终在最前面的功能,从其差评中可以看出,他们无法或不愿意找到替代解决方案。
显示图像的一种替代方法(可能对您无效,因为您可能还需要声音)是使用图像通知,其中包含一个您可以从后台脚本动态生成和更新的canvas图像。
使用这种方法,你可能能够显示动画/视频,但我不确定它会有多流畅。executeScript
和insertCSS
插入自定义代码。内容不会立即出现,特别是在需要先加载视频的情况下,因此当用户切换标签时,他们实际上会注意到注入的内容再次出现并加载它需要加载的任何内容。
如果Chrome最小化或部分离屏,他们可能看不到注入的内容。
与页面上现有代码的冲突。
web_accessible_resources
属性。它应该是一个数组,其中包括你在 iframe 中加载的 HTML 文件以及该 HTML 文件加载的任何其他 CSS、JS 或图像。 - Danziger