[英]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.