javascript - Chrome 扩展中的持久化 iFrame

标签 javascript html google-chrome iframe google-chrome-extension

有没有人碰巧知道是否可以在 Chrome 扩展程序中使用持久化 iFrame?目前我在后台页面中运行了 iFrame,但我希望能够让用户看到它(它是一个视频播放器,因此即使正在播放视频,用户也无法单击控件)。目标是如果用户关闭扩展的弹出窗口,视频仍然播放,并且当他们再次单击弹出窗口时,视频仍在播放并且他们可以访问控件。过去这似乎可以通过 importNode/adoptNode 实现,但看起来这些已从 API 中删除。

任何帮助都会很棒!

谢谢

最佳答案

这对于 iframe 可能是不可能的 - 听起来像规范 was changed使用 adoptNode 移动 iframe 时重新加载它们。

对于这种情况,我看到两个不太理想的选择:

  1. 使用内容脚本来跟踪视频中的位置,每当带有视频的 iframe 在浏览器操作弹出窗口和背景页面之间移动并重新加载时,您就会将视频查找到它所在的位置就在。这不是最好的用户体验,因为会出现问题。

  2. 与其让视频在后台页面中播放并尝试在该页面和浏览器操作弹出窗口之间来回移动,不如始终只在常规弹出窗口中加载视频。您可以创建一个 type=popup使用 chrome.windows.create 的窗口,然后使用 chrome.windows.update 在 minimized and normal states 之间切换来最小化/恢复它,也许每当它自动最小化它loses focus .这不是最好的用户体验,因为总会有一个最小化的窗口,它不像在扩展程序的背景页面中显示视频时那样“隐藏”在用户的窗口管理系统中。

关于javascript - Chrome 扩展中的持久化 iFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25632139/

相关文章:

javascript - 保护我的 Node.js 应用程序的 REST API?

jquery - 带边框半径的多线圆 Angular

google-chrome - 社交图标的 CSS 对齐 - Chrome/Safari 特定

google-chrome - CSS3 转换、分层和诊断

google-chrome - Vue - Chrome 开发者控制台中的混合内容警告

javascript - meteor + MongoDB : Check if date is in range

javascript - Axios 未在请求中发送自定义 header (可能是 CORS 问题)

javascript - console.log() 没有按预期工作

php - 徽章原因错误

JavaScript - 更改文本颜色