页面加载时的插件和 html - 元素遍布各处的瞬间
Plugins and html on page load - Split second where elements are all over the place
多年来我一直在制作网站,但仍然没有找到可靠的方法。当用户访问该站点时使用诸如 fullpage.js 之类的插件时,内容无处不在,直到 css 已加载,然后插件将按应有的方式重新排序。例如,站点 http://thisisdk.com 使用整页并且有一个包含大量视频的非常大的页面,但从一开始它就可以无缝加载。我知道他们有一个加载器,但有些东西告诉我除了 cdns 等还有很多其他非常聪明的东西。有兴趣听听其他开发人员的技巧和技巧,了解他们如何在不使用预加载器的情况下克服这个问题
我总是建议人们在 header 中使用加载 fullPage.js,这与在 body 中添加 JS 文件的流行趋势相反。
为什么?
因为我认为 fullPage.js 对于您网站的正确可视化至关重要。如果没有 fullpage.js,您的部分将不会有正确的大小,它们会像您提到的那样重叠,幻灯片内容在不应该显示的时候会显示...
其中一些需要 fullpage.js 到 运行、检测内容的尺寸、将幻灯片设置到正确的位置等。
您可以在 fullPage.js 提供的任何 the demo pages 中进行检查,您会发现没有这种闪烁。
如果您仍然不想使用此解决方案来加快您网站的加载速度。,我建议您使用关键 CSS 技术尽可能快地设置你的部分的大小(即使 fullpage.js 还没有初始化)并且没有任何 HTTP 请求(加速它甚至更多)
在您网站的 header 中使用以下内联样式:
<style>
html,body {
margin: 0;
padding: 0;
overflow:hidden;
}
.section,
.slide,
.fp-tableCell{
height: 100vh;
}
</style>
这将解决闪烁部分的问题。
一些可能出现的问题
如果您正在使用 fullpage.js 的条件初始化,即使您不需要它,它仍然会被应用。
如果你动态销毁fullpage.js,当你不需要它时,它仍然会被应用。
在插件加载和初始化之前,内容大于视口的部分将不会有滚动条。
即使您不想在某些幻灯片中使用 setAllowScrolling(false)
,用户也可以访问幻灯片。
多年来我一直在制作网站,但仍然没有找到可靠的方法。当用户访问该站点时使用诸如 fullpage.js 之类的插件时,内容无处不在,直到 css 已加载,然后插件将按应有的方式重新排序。例如,站点 http://thisisdk.com 使用整页并且有一个包含大量视频的非常大的页面,但从一开始它就可以无缝加载。我知道他们有一个加载器,但有些东西告诉我除了 cdns 等还有很多其他非常聪明的东西。有兴趣听听其他开发人员的技巧和技巧,了解他们如何在不使用预加载器的情况下克服这个问题
我总是建议人们在 header 中使用加载 fullPage.js,这与在 body 中添加 JS 文件的流行趋势相反。
为什么?
因为我认为 fullPage.js 对于您网站的正确可视化至关重要。如果没有 fullpage.js,您的部分将不会有正确的大小,它们会像您提到的那样重叠,幻灯片内容在不应该显示的时候会显示...
其中一些需要 fullpage.js 到 运行、检测内容的尺寸、将幻灯片设置到正确的位置等。
您可以在 fullPage.js 提供的任何 the demo pages 中进行检查,您会发现没有这种闪烁。
如果您仍然不想使用此解决方案来加快您网站的加载速度。,我建议您使用关键 CSS 技术尽可能快地设置你的部分的大小(即使 fullpage.js 还没有初始化)并且没有任何 HTTP 请求(加速它甚至更多)
在您网站的 header 中使用以下内联样式:
<style>
html,body {
margin: 0;
padding: 0;
overflow:hidden;
}
.section,
.slide,
.fp-tableCell{
height: 100vh;
}
</style>
这将解决闪烁部分的问题。
一些可能出现的问题
如果您正在使用 fullpage.js 的条件初始化,即使您不需要它,它仍然会被应用。
如果你动态销毁fullpage.js,当你不需要它时,它仍然会被应用。
在插件加载和初始化之前,内容大于视口的部分将不会有滚动条。
即使您不想在某些幻灯片中使用
setAllowScrolling(false)
,用户也可以访问幻灯片。