【问题标题】:How to wait for page to load befor Reveal.js starts如何在 Reveal.js 启动之前等待页面加载
【发布时间】:2015-12-27 14:21:23
【问题描述】:

我在 GitHub 页面上托管了一个简短的reveal.js 演示文稿here

我想在自动开始演示之前等待页面完全加载。如果连接速度很慢,awesomefonts 不会及时渲染,用户只能看到一个空块。

是否可以在开始前等待一段时间?

【问题讨论】:

标签: javascript github-pages reveal.js


【解决方案1】:

好的,在浏览了您的代码一分钟后,我注意到在初始化 Reveal.js 之前,您可能需要在脚本中添加一个 onload 块。试试把

Reveal.initialize({
      controls: false,
      progress: true,
      history: true,
      center: true,
      autoSlide: 2200,
      transition: 'slide', // none/fade/slide/convex/concave/zoom
      // Optional reveal.js plugins
      dependencies: [
      { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
      { src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
      { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
      { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
      { src: 'plugin/zoom-js/zoom.js', async: true }
      ]
      });

内部:

object.onload=function(){myScript};

希望这会有所帮助。顺便说一句,演示文稿看起来很棒。

【讨论】:

【解决方案2】:

将你的初始化代码放入window.onload()函数中

如果您需要异步加载多个内容,只需创建一个 myLoad() 函数和一个 objToBeLoaded 计数器,然后每次加载 obj 时,使其调用 somethingHasLoad() 函数,该函数将检查该计数器并最终拨打myLoad()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多