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

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

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

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

    
Loading... Please Wait.

在jQuery中更新

  

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

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

   

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

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

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

我做了一些我需要知道图像何时完全加载的东西,所以我用$.get()函数进行了预加载,并将回调函数作为最后一个参数传递。 这样,当实际下载图像时,我的回调会激活,我知道浏览器已经将图像放在缓存中。

您可以编写一个函数,为您告诉它预加载的每个图像递增一个全局变量,然后您的回调可以递减计数器。 当计数器回零时,调用另一个函数。 所有图像预加载后,此function现在将触发。

这是为了图像。 当$(document).ready()被触发时,可以保证加载其他所有内容。 因此,如果您此时开始例程,则应加载页面上的所有内容。

最好的办法

 function ajax(){
 $('#wapal')。html('path to image');
 $就({
      url: 'somfile.php',
         方法:“得到”,
         成功:function(数据){
          if(data =='')返回;
          $( '#WAPAL')HTML(数据)。
        }
     });
 }

你可以轻松地使用jquery。

脚本

 $(window).load(function() { $('#preloader').fadeOut('slow', function() { $(this).remove(); }); }); 

STYLES

 div#preloader { position: fixed; z-index: 999; width: 100%; height: 100%; background: #c6d6c2 url(ajax-loader.gif) no-repeat center center; } 

HTML

 div id =“preloader”

对DMus -Jerad的一些修改回答,因为当adsense在页面上时它不起作用。

你可以轻松地使用jquery。

脚本

 $(document).ready(function() { $('#preloader').fadeOut('slow', function() { $(this).remove(); }); }); 

STYLES

 div#preloader { position: fixed; z-index: 999; width: 100%; height: 100%; background: #c6d6c2 url(ajax-loader.gif) no-repeat center center; } 

HTML

 div id="preloader"