3

我在我的 rails 应用程序中运行 Galleria.IO 的 JavaScript 库,在开发中一切正常,在我特别包含 Galleria 代码的页面上的生产中一切正常。但是当你点击一个没有代码的页面时,它会不断抛出错误,比如

No theme CSS loaded
Fatal error: Theme CSS could not load after 20 sec. Please download the latest theme at http://galleria.io/customer/

我已经在我的管道中包含了 Galleria 文件:

// application.js
//= require galleria.min
//= require galleria.classic.min

/* application.css
*= require galleria.classic
*/

以下确实在有#galleria元素的页面上正确初始化了画廊,但在其他任何地方都会引发上述错误:

if ($("#galleria").length == 1) {
        Galleria.loadTheme('/assets/galleria.classic.min.js');
        Galleria.configure({
            debug: false,
            // imageCrop: true,
            dummy: '/assets/fallback/large_default.png',
            transition: 'fade'
        });
        Galleria.run('#galleria');
    }

有没有办法让主题在资产管道中自动加载,而不必单独初始化它?

4

1 回答 1

3

听起来你应该总是加载一个主题!

将以下内容放入 app/assets/javascripts/galleria_setup.js 中:

    Galleria.loadTheme('/assets/galleria.classic.min.js');
    Galleria.configure({
        debug: false,
        // imageCrop: true,
        dummy: '/assets/fallback/large_default.png',
        transition: 'fade'
    });

然后将您的清单更改为

// application.js
//= require galleria.min
//= require galleria.classic.min
//= require galleria_setup

然后当你想要真正启动时:

if ($("#galleria").length == 1) {
    Galleria.run('#galleria');
}
于 2013-02-20T17:30:02.303 回答