我有以下 bigvideo.js 实现,在我的 Rails 项目之外完美运行。
<script src="modernizr.js"></script>
<script src="jquery-1.7.2.min.js"></script>
<script src="jquery-ui-1.8.22.custom.min.js"></script>
<script src="jquery.imagesloaded.min.js"></script>
<script src="http://vjs.zencdn.net/3.0/video.js"></script>
<!-- BigVideo -->
<script src="bigvideo.js"></script>
<script>
var BV = new $.BigVideo();
BV.init();
if (Modernizr.touch) {
BV.show('yay.jpg');
} else {
BV.show('test.mp4',{ambient:true});
}
</script>
但是,当我尝试将其转换为 Rails 时,它不会渲染图像或视频。
- 我在 asset/javascripts 中有所有 javascript 文件。他们似乎拉动正确。
- Application.js 未受影响并包含 //= require_tree 。
- 对于自定义 JS(上面显示 js 代码的那个),我目前将其作为 JS 文件放在 asset/javascripts 中。我尝试将相关的图像/视频文件放入该文件夹中,更改文件的网址路径,并将其命名为 .html.erb 并使用 ruby 片段,但都没有成功。
我怎样才能让我的实施工作发挥作用?你可以看到它在 Rails 之外运行here http://itsplatonic.com/OnePager.
我能够让 BigVideo 与 Rails 一起使用。我不确定这是否是最理想的解决方案,但如果您提供视频的完整网址(通过类似<%= request.protocol + request.host_with_port + asset_path('main-video.mp4') %>
)它将加载到页面上。
所以我最终使用的代码是:
<script>
$(function() {
var BV = new $.BigVideo();
BV.init();
BV.show("<%= request.protocol + request.host_with_port + asset_path('main-video.mp4') %>",{ambient:true});
});
</script>
我已经设置了一个示例应用程序,您可以查看一下。它位于此处(注意:我试图保留somewhat忠实于您的 onepager 示例,但并不完全相同):
http://bigvideo.herokuapp.com/ http://bigvideo.herokuapp.com/
您还可以在此处查看我用于创建它的代码:
https://github.com/scouttyg/bigvideo-example https://github.com/scouttyg/bigvideo-example
我还做了一些有趣的事情,例如将视频放在自己的目录(资产/视频)中,并将预编译路径添加到application.rb
以及。
我认为这个想法一般来说,您应该将 BigVideo 与 CDN 结合使用,而不是从 Rails 应用程序本身提供它 - 类似于为什么 Rails 建议将文件上传卸载到 S3 等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)