是否可以使用ajax/jquery技术预加载页面内容?

Ahm*_*uad 16 javascript php ajax jquery preloader

是否可以预加载所有页面内容(如显示加载栏/动画gif ..或加载文本..),直到内容完全加载,然后显示给用户/访问者?如果可以的话,您能否给我正确的指示或资源来实现这一目标.因为我能够轻松找到图像预加载器,但我正在寻找一种预加载技术,它将在显示之前预先加载页面上的所有内容.

sep*_*ehr 17

没有必要使用Ajax.只需将页面的包装器div设置displaynone.然后将其更改为加载文档block时.

使用vanilla javascript,您的代码可能如下所示:

<script type="text/javascript">
    function preloader() {
        document.getElementById("preloader").style.display = "none";
        document.getElementById("container").style.display = "block";
    }

    window.onload = preloader;
</script>

<style>
div#wrapper {
    display: none;
}

div#preloader {             
    top: 0; right: 10px;
    position:absolute;
    z-index:1000;
    width: 132px; height: 38px;
    background: url(path/to/preloaderBg.png) no-repeat;
    cursor: wait;
    text-shadow: 0px 1px 0px #fefefe;  //webkit                 
}
</style>

<body>
    <div id="preloader">Loading... Please Wait.</div>
    <div id="wrapper">
        <!-- page contents goes here -->
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

在jQuery中更新:

<script type="text/javascript">
    // Use $(window).load(fn) if you need to load "all" page content including images, frames, etc.
    $(document).ready(function(){ 
        $("#preloader").hide();
        $("#container").show();
    });
</script>
Run Code Online (Sandbox Code Playgroud)

相关文档:事件/ 准备,事件/ 加载,CSS/css和核心/ $

  • DIV [ID = "X"]?当然只是#x? (2认同)

bob*_*nce 11

如果您选择隐藏内容直到整个页面加载的方法,请不要将其隐藏在CSS中,然后在JavaScript中取消隐藏.如果您这样做,任何禁用或禁用JavaScript的人都将完全没有页面.相反,从脚本中执行隐藏和显示.

<body>
    <script type="text/javascript">
        document.body.style.visibility= 'hidden';
        window.onload= function() { document.body.style.visibility= 'visible'; };
    </script>
Run Code Online (Sandbox Code Playgroud)

另请注意,术语"预加载器"并不适合您在此处所做的事情.'pre'意味着您通过提取和缓存页面来提高性能,以便在需要时准备好.

但事实恰恰相反:当部分内容可用时,它会在页面加载时等待显示用户没有任何内容,从而降低性能.击败渐进式渲染会使浏览速度变慢,而不是更快.它通常明显是错误的东西,除了在一些利基案例与普通浏览器渐进式渲染是最好的.这就是网络的运作方式; 人们已经习惯了.

(人们,除了那些愚蠢的管理类型,他们并不真正使用或理解网络,但要求他们公司的网站同时出现.)