问题 Galleria主题偶尔不加载


我在我的网站上使用Galleria幻灯片,但我注意到一个似乎非常随机的错误。大多数情况下,幻灯片显示正确加载但偶尔会出现此错误:

 Uncaught Error: Fatal error: Theme at javascript/themes/classic/galleria.classic.js
 could not load, check theme path.

当我重新加载页面时,它都恢复正常。 这是我用来加载它的代码:

  <script> 
        // Load the classic theme
   Galleria.loadTheme('javascript/themes/classic/galleria.classic.js');
    </script> 

我已经四处搜索但仍未找到有效的解决方案。我个人的想法是有一个脚本继续加载,直到成功,因为重新加载页面工作。 我该怎么办?


10152
2018-05-30 22:45


起源



答案:


1在gihub上尝试最新版本: https://github.com/aino/galleria/blob/master/src/galleria.js

2尝试使用脚本标记加载主题:

<script src="javascript/themes/classic/galleria.classic.js"></script>

13
2018-06-01 18:05



真棒!使用脚本标签为我工作,非常感谢。 - JCO9


答案:


1在gihub上尝试最新版本: https://github.com/aino/galleria/blob/master/src/galleria.js

2尝试使用脚本标记加载主题:

<script src="javascript/themes/classic/galleria.classic.js"></script>

13
2018-06-01 18:05



真棒!使用脚本标签为我工作,非常感谢。 - JCO9


我尝试使用Galleria时,今天也收到了类似的消息。它只发生在Firefox中。我所做的就是直接添加主题样式表链接 head。在样式表之后,我也保留了主题脚本链接,以防万一需要它。之后,错误消息消失了,Galleria正在按预期工作。


1
2017-09-02 05:12





从错误消息的来源判断,并考虑随机事件,这个问题可能来自加载时简单地达到超时:

Galleria.loadTheme = function( src, options ) {

var loaded = false,
    length = _galleries.length,
    err = window.setTimeout( function() {
        Galleria.raise( "Theme at " + src + " could not load, check theme path.", true );
    }, 5000 );

在版本1.2.2中,超时仅为2秒,在上面(1.2.6)中,超时为5秒。因此,升级到更高版本或自定义超时绝对值得一试。


1
2017-11-06 15:28





我采用了David指出的方法,使用脚本标记加载主题:

<script src="javascript/themes/classic/galleria.classic.js"></script>

但最终得到了另一个错误(致命错误:主题CSS在20秒后无法加载)。我还建议使用链接标记添加CSS:

<link rel="stylesheet" type="text/css" href="galleria/themes/classic/galleria.classic.css" />

1
2018-02-18 14:49





鉴于随机行为,感觉就像一个浏览器错误。更具体地说,浏览器丢失了对基本URL的跟踪。我会从webroot给出完整路径,看看错误是否消失。例如:

Galleria.loadTheme('/gallery/javascript/themes/classic/galleria.classic.js');

如果这没有帮助,请尝试:

try {
    Galleria.loadTheme('javascript/themes/classic/galleria.classic.js');
}
catch(e) {
    location.reload();
}

但这可以无限。我会尝试找到错误的底部,并从不同的浏览器开始,以排除代码中的错误。


0
2018-05-30 23:00



我确实给它一个完整的路径,但是当我在这里发布时我删除了它。我尝试了location.reload(),但仍然没有捕获错误:致命错误:找不到主题。 j.raisegalleria-1.2.2.min.js:77 j.init.j.theme.object.g.wait.errorgalleria-1.2.2.min.js:42 g.wait.igalleria-1.2.2.min。 JS:12 - odle
@odle你测试过不同的浏览器吗?如果它不是路径问题,可能是缓存问题。如果您可以检查Web服务器日志并查看是否已发送文件。 “找不到主题”似乎与“无法加载”有所不同。 - Mel
抱歉,我无法访问日志。我已经用所有浏览器测试过了。仍然会发生。奇怪的是重装后一切都很好。 - odle


初学者指南 说明您加载主题的脚本标记需要  html源代码中的图像。您可能已在head标记中添加了脚本标记。指南中的示例:

<body>
    <div id="galleria">
        <img src="photo1.jpg">
        <img src="photo2.jpg">
        <img src="photo3.jpg">
    </div>
    <script>
        Galleria.loadTheme('galleria/themes/classic/galleria.classic.min.js');
        Galleria.run('#galleria');
    </script>
</body>

0
2018-06-23 14:08