如何让浏览器等待显示页面,直到完全加载?

我讨厌你如何看到网页加载。 我认为等待页面完全加载并准备好显示,包括所有脚本和图像,然后让浏览器显示它会更有吸引力。 所以我有两个问题...

  • 我怎样才能做到这一点?
  • 我是一个网页开发的总不愿意,但这是常见的做法? 如果不是,为什么?
  • 预先感谢您的智慧!


    由于所有原因,这是一个非常糟糕的主意,等等。 这就是说,以下是你如何使用jQuery来做到这一点:

    <body>
    <div id="msg" style="font-size:largest;">
    <!-- you can set whatever style you want on this -->
    Loading, please wait...
    </div>
    <div id="body" style="display:none;">
    <!-- everything else -->
    </div>
    <script type="text/javascript">
    $(document).ready(function() {
        $('#body').show();
        $('#msg').hide();
    });
    </script>
    </body>
    

    如果用户禁用JavaScript,他们将永远不会看到该页面。 如果页面从未完成加载,他们将永远不会看到该页面。 如果页面加载时间过长,他们可能会认为出现了问题,然后转到其他地方而不是*请等待... *。


    我认为这是一个非常糟糕的主意。 用户喜欢看到进步,简单明了。 将页面保持在一个状态几秒钟,然后立即显示已加载的页面将使用户觉得没有任何事情发生,并且您可能会失去访问。

    一种选择是在页面上显示一个加载状态,而在后台进行处理,但这通常是在网站实际处理用户输入时保留的。

    http://www.webdeveloper.com/forum/showthread.php?t=180958

    底线,您至少需要在页面加载时显示一些视觉活动,并且我认为一次加载页面并不是那么糟糕(假设您没有做一些严重减慢页面的事情加载时间)。


    这当然有一个有效的用法。 一种是防止人们点击链接/导致JavaScript事件发生,直到所有的页面元素和JavaScript已经加载。

    IE中 ,您可以使用页面转换,这意味着页面在完全加载之前不会显示:

    <meta http-equiv="Page-Enter" content="blendTrans(Duration=.01)" />
    <meta http-equiv="Page-Exit" content="blendTrans(Duration=.01)" />
    

    注意持续时间短。 这足以确保页面在完全加载之前不会显示。

    FireFox和其他浏览器中,我使用的解决方案是创建一个页面大小为白色的DIV,然后在JavaScript页面的最后部分放入隐藏它的DIV。 另一种方法是使用jQuery并隐藏它。 不像IE解决方案那样无痛苦,但都工作得很好。

    链接地址: http://www.djcxy.com/p/96871.html

    上一篇: How can I make the browser wait to display the page until it's fully loaded?

    下一篇: javascript usage in html tag