Chrome 扩展程序中的持久 iFrame

7
有没有人知道在Chrome扩展中是否可以有一个持久的iFrame?目前我将iFrame运行在后台页面,但我想让用户能够看到它(它是一个视频播放器,所以即使视频正在播放,用户也无法点击控件)。目标是,如果用户关闭扩展的弹出窗口,则视频仍会继续播放,并且当他们再次点击弹出窗口时,视频仍在播放并且他们可以访问控件。似乎过去使用importNode / adoptNode是可能的,但看起来这些已从API中删除。
任何帮助都将非常棒!
谢谢

您可能想查看以下扩展的背景页面:https://chrome.google.com/webstore/detail/keep-awake/bijihlabcfdnabacffofojgmehjdielb它可以防止ChromeOS进入睡眠模式。它可能会在后台持续运行,但我不确定。 - RickyAYoder
我非常确定,如果您使用显示/隐藏功能,则视频将继续播放,直到您停止它(stop())。此外,您可以从播放器中删除控件,并在需要时重新设置它们。 - igor
1个回答

0

使用iframe可能不可行 - 这似乎是因为规范已更改,使得在使用adoptNode移动时iframes重新加载。

我看到了两个不太理想的选项:

  1. 使用内容脚本跟踪视频的位置,每当包含视频的 iframe 在浏览器操作弹出窗口和后台页面之间移动并重新加载时,则将视频调整到刚才的位置。虽然这不是最佳用户体验,因为会有一点小问题。

  2. 不要试图在后台页面播放视频并尝试在浏览器操作弹出窗口之间来回移动视频,而是总是在常规弹出窗口中加载视频。您可以使用 chrome.windows.create 创建一个 type=popup 窗口,然后使用 chrome.windows.update 来最小化/恢复窗口,以在最小化和正常状态之间切换,也许自动在失去焦点时将其最小化。虽然这不是最佳用户体验,因为始终会有一个最小化的窗口,而它不如将视频放在扩展后台页面时那样被用户的窗口管理系统“隐藏”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接