【问题标题】:Galleria slideshow works on local server, not on live serverGalleria 幻灯片在本地服务器上工作,而不是在实时服务器上
【发布时间】:2013-07-10 18:13:10
【问题描述】:

我正在尝试在我的 rails 应用程序中启动并运行 Galleria 幻灯片。它适用于本地服务器(在 Chrome 和 Firefox 上),但不适用于实时服务器(在 Chrome 或 Firefox 上)。在 Chrome 中,幻灯片在加载时会短暂闪烁(可能是 0.25 秒?),然后才会消失。在 Firefox 中,它根本就不会出现。 当我查看 Chrome 上的检查元素发生的情况时,在网络选项卡下,它说 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 工作?

【问题讨论】:

    标签: ruby-on-rails galleria


    【解决方案1】:

    当您将文件部署到生产环境时,它会编译并将您的所有资产收集到一个名为 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 文件中。因此,您可以从代码中删除 &lt;link rel...&gt; 部分。

    附:我试图避免在cssjavascriptsimages 文件夹中使用子文件夹,因为它经常会导致像您这样的问题,而且它也使应用程序结构更加清晰。但要这样做,您需要检查插件文件,如果它们有任何指定的相互路径,并删除其中的任何/folder/subfolder/ 部分,只留下文件名。

    【讨论】:

    • 所以我需要指定本地服务器的路径,而不是在生产版本中指定路径?这没有多大意义。我也不知道该怎么做。
    • 你真的需要在你的html文件中硬编码&lt;link rel="stylesheet" type="text/css" href="assets/libs/galleria/themes/classic/galleria.classic.css"&gt;吗?如果您已将其添加到您的 application 文件中,则它们已在开发和生产中编译。如果您使用的是heroku,还要检查config.assets.initialize_on_precompilefalse
    • 谢谢。客户只是出于审美目的完全放弃了幻灯片放映,他们决定当人们点击图片时他们想要一个灯箱类型弹出。我仍然在学习很多关于管道的知识。下一次,我会知道我不需要在顶部和通过资产管道添加样式表。谢谢。
    • 没问题。很高兴,如果我的建议有用(:
    猜你喜欢
    • 1970-01-01
    • 2020-08-14
    • 2021-10-12
    • 2014-06-26
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    相关资源
    最近更新 更多