javascript - 当用户浏览到另一个页面(同一站点)时,模态音频播放器会继续流式传输而不会中断

标签 javascript ruby-on-rails widget audio-streaming

我正在寻找可以嵌入到我的网站(Rails 应用程序)中的媒体播放器(音频),以允许在用户转到我网站的另一个页面时不会停止的流式音频。理想情况下,它将是模态的。

我试过使用 YUI Media Player,但是当用户离开主页时音频会重新加载,而且大多数用户不想在新选项卡中播放它(正如 YUI Media Player 允许的那样),直到为时已晚.

我一直在使用 Olark 向我的网站添加聊天功能,它确实允许用户在浏览网站的同时保持聊天 session 有效。

是否存在这样的模态音频插件或小部件?还是我应该自己开始编码?

我知道我总是可以强制媒体播放器在新选项卡中打开,但我想将所有内容保持在同一屏幕上...我必须承认,我还没有见过这样的工具,所以我不太有信心找到一个。

最佳答案

我参与开发了一个网站,正是这样做的。

简短回答:这不是小部件可以做的事情。

长答案:

主要问题是,当用户导航到新页面时,旧页面被完全丢弃 - 这包括媒体播放器。没有办法解决这个问题 - 要保持音乐播放,您必须完全防止静态负载。当用户尝试导航时,我们通过使用 AJAX 替换站点上的内容解决了这个问题,据我所知,这是唯一可行的方法。基本上我们会捕获链接点击并进行 AJAX 加载,用从服务器获取的 HTML 交换 DOM 中的相关 HTML。

从经验来看,编写一个以这种方式运行的站点需要更多的工作。乍一看这似乎很容易,但有很多边缘情况需要考虑(GET args 很烂),并且有很多部分可以组合在一起以创建良好的用户体验(基于片段的 URL、后退按钮支持、 list 还在继续)。此外,您仍然需要处理静态页面加载,因此您可能需要围绕整个动态加载创建一些框架。

话虽这么说,如果您真的真的必须拥有此功能,那还是有好处的。归根结底,我工作的网站实际上比大多数其他网站有更好的用户体验:页面加载速度更快,资源(CSS、图像等)自动缓存,AJAX 分页/表单验证基本上是免费的,我们最终通过登录/注销做了一些很酷的事情。但要达到这一点需要大量的工作。

关于javascript - 当用户浏览到另一个页面(同一站点)时,模态音频播放器会继续流式传输而不会中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2054264/

相关文章:

ruby-on-rails - 未定义方法 `resource_owner_id' 为 nil :NilClass Doorkeeper

ruby-on-rails - 将相同的列名添加到不同的表 - Rails 迁移

gtk - 堆叠 GTK+ 小部件

javascript - 使用 jquery 动态添加文件输入?

javascript - 功能检测不适用于 Internet Explorer 中的事件

javascript - 如何通过 Ajax 调用获取 Angular 指令中的数据?

javascript - 显示多个元素时性能不佳

ruby-on-rails - 提交失败后不会重新填充设计(rails)中的其他注册字段

c# - 刚开始使用 Silverlight,我可以从主 Web 应用程序页面向我的嵌入式 silverlight "widget"发送数据吗?

android - 当我将一些值插入小部件数据库时小部件没有更新