use*_*135 5 html javascript video ruby-on-rails ruby-on-rails-3
我有以下实现的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>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将其转换为Rails时,它不会呈现图像或视频.
- 我有资产/ javascripts中的所有javascript文件.它们似乎正在拉动.
- Application.js不受影响,包括// = require_tree.
- 对于自定义JS(上面显示js代码的那个),我目前将它作为资产/ javascripts中的JS文件.我已经尝试将相关的图像/视频文件放在文件夹中,更改文件的网址路径,并命名为.html.erb并使用ruby片段,都没有成功.
如何让我的实施工作?你可以在这里看到它在Rails之外工作.
小智 4
我能够让 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>
Run Code Online (Sandbox Code Playgroud)
我已经设置了一个示例应用程序,您可以查看一下。它位于此处(注意:我试图对您的 onepager 示例保持一定程度的忠诚,但它并不完全相同):
http://bigvideo.herokuapp.com/
您还可以在此处查看我用于创建它的代码:
https://github.com/scouttyg/bigvideo-example
我还做了一些有趣的事情,例如将视频放在自己的目录(资产/视频)中,并添加了预编译路径application.rb
。
我认为这个想法一般来说,您应该将 BigVideo 与 CDN 结合使用,而不是从 Rails 应用程序本身提供它 - 类似于为什么 Rails 建议将文件上传卸载到 S3 等。
归档时间: |
|
查看次数: |
2175 次 |
最近记录: |