[英]Galleria slideshow works on local server, not on live server
我正在尝试在我的Rails应用程序中播放并运行Galleria幻灯片。 它与本地服务器(在Chrome和Firefox上均可)正常运行,但不适用于实时服务器(在Chrome或Firefox上)。 在Chrome浏览器中,幻灯片会在加载后短暂闪烁(可能是0.25秒?),然后消失。 在Firefox中,它根本不会出现。 当我查看Chrome上的inspect元素的状态时,在“网络”标签下,它说galleria.classic.css由于404错误而被取消。
我的应用程序中包含以下代码:(请注意,最初,页面上还有其他代码,但是我将幻灯片放到了仅管理员页面上,因此我可以实时检查它,而不会弄乱面向客户端的内容,仅此而已在页面上。在面向客户的页面或管理页面上均无效。
在视图中:
<head><link rel="stylesheet" type="text/css" href="assets/libs/galleria/themes/classic/galleria.classic.css"></head>
<body>
<div id="slideshow">
<div id="galleria">
<%= image_tag("pic1_url")%>
<%= image_tag("pic2_url")%>
<%= image_tag("pic3_url")%>
</div>
<script>
$('#galleria').galleria();
</script>
</div>
</body>
在我的application.css样式表中,我有:
*= require_self
*= require galleria/themes/classic/galleria.classic
*= require_tree .
*/
在我的application.js文件中,我有:
//= require jquery
//= require jquery_ujs
//= require jquery_nested_form
//= require galleria/galleria-1.2.9.min
//= require galleria/themes/classic/galleria.classic
//= require_tree .
我尝试过的修复:
仔细检查我的路径(根据此答案: Galleria在所有浏览器中都可在本地工作,但在托管时只能在IE8和Chrome中使用 )。 它们都是正斜线,而不是反斜线。
在galleria.classic.js中,将css:galleria.classic.css更改为css:false(根据此答案: Galleria未显示在Rails应用程序的Heroku中 )
我在卖方/资产/库/画廊的rails资产管道中有我的回廊 (按此答案: 在Rails 3.1 Asset Pipeline中将回廊(jQuery画廊框架)放在哪里? )
我在头部的样式表链接中添加了type =“ text / css”,(在此处的第二个答案: 初始页面访问时未加载Galleria )
如何让环球免税店上班?
当您将文件部署到生产环境时,它会编译所有资产并将其收集在一个名为assets
文件夹中,因此指定的路径不起作用,因为在Heroku服务器或其他服务器上没有galleria/themes/classic/
路径使用。
因此,如果需要,您需要在HTML文件中指定这样的路径,例如href="assets/galleria.classic.css"
。
但实际上你
*= require galleria/themes/classic/galleria.classic
和
//= require galleria/galleria-1.2.9.min
//= require galleria/themes/classic/galleria.classic
已经完成了,所有必需的代码都必须在编译的.css
和.js
文件中。 因此,您只需从代码中删除<link rel...>
部分。
PS我正在努力避免css
, javascripts
和images
文件夹中的子文件夹,因为它经常会引起像您这样的问题,并且使应用程序的结构更加清晰。 但是要这样做,您需要检查插件文件之间是否有任何指定的路径,并删除其中的/folder/subfolder/
部分,仅保留文件名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.