[英]PreLoad Index.HTML from another Page - Javascript
首先,我到处搜索,发现一些东西与我要找的东西很接近,但没有任何东西可以帮助我找到解决方案。 我有一个专业的着陆页,其中使用了很多高分辨率的图像和内容,因此我想在用户看到它之前对其进行预加载,以使其顺利进入。 我正在使用下面的Javascript(我发现)来加载它。但是我不认为当前Javascript实际上是在显示它之前预先加载了Index.HTML。 下面的javascript是从Preloader.html加载的,我也会在下面显示该代码。
preload.js
(function() {
var preload = document.getElementById("preload");
var loading = 0;
var id = setInterval(frame, 64);
function frame() {
if(loading == 100) {
clearInterval(id);
window.open("index.html", "_self");
return false;
} else {
loading = loading + 1;
if (loading == 90) {
preload.style.animation = "fadeout 1s ease";
}
}
}
})();
Preloader.html
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
</head>
<body>
<div class="preload" id="preload">
<div class="logo">
</div>
<div class="loader-frame">
<div class="loader1" id="loader1"></div>
<div class="loader2" id="loader2"></div>
</div>
</div>
<script type="text/javascript" src="js/preload.js"></script>
</body>
</html>
我很确定这是因为我是javascipt的完整入门者,它只在执行window.open,并且没有实际跟踪预加载的index.html页面。 但是我找不到任何在线内容来确认这一点。 我相信我现在所有的preload.js都只是在使用else语句的延迟计时器上执行,然后打开index.html而不实际对其进行预加载。
谢谢您的宝贵时间,干杯!
这是在计数器达到100%时您正在“加载”页面,然后您要求浏览器加载页面。 实际上,没有进行任何预加载,因为仅需要加载页面本身。 把它们加起来。
您需要将所有这些代码保存在页面中,没有正确的方法可以知道从网站上加载的百分比,但是可以使用以下功能知道何时加载:
<script>
window.onload = function() {
alert('page finished loading all images, css and js!');
hideOverlay();
};
</script>
使用此函数可隐藏您的overlayElement,如下所示:
function hideOverlay() {
document.querySelector('#preload').style.display = 'none';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.