display HTML page after loading complete

后端 未结 5 1644
忘掉有多难
忘掉有多难 2020-12-01 02:10

Is there a way to force the browser to display a page only after all of the page\'s contents are completely loaded (such as images, scripts, css, etc)?

5条回答
  •  伪装坚强ぢ
    2020-12-01 02:34

    The easiest thing to do is putting a div with the following CSS in the body:

    #hideAll
     {
       position: fixed;
       left: 0px; 
       right: 0px; 
       top: 0px; 
       bottom: 0px; 
       background-color: white;
       z-index: 99; /* Higher than anything else in the document */
    
     }
    

    (Note that position: fixed won't work in IE6 - I know of no sure-fire way of doing this in that browser)

    Add the DIV like so (directly after the opening body tag):

    
    

    show the DIV directly after :

      
    

    and hide it onload:

     window.onload = function() 
      { document.getElementById("hideAll").style.display = "none"; }
    

    or using jQuery

     $(window).load(function() {  document.getElementById("hideAll").style.display = "none"; });
    

    this approach has the advantage that it will also work for clients who have JavaScript turned off. It shouldn't cause any flickering or other side-effects, but not having tested it, I can't entirely guarantee it for every browser out there.

提交回复
热议问题