0

我有一个侧边栏,里面有很多功能。它工作得很好,但现在我有一个模块需要一点时间来加载(它file_get_contents()用于 3 个请求,尽管它们被缓存了)。这需要一分钟,所以网站看起来一分钟坏了。

我想这是因为它是这样的

<aside class="sidebar">
    <div class="module one">Stuff</div>
    <div class="module two">Stuff</div>
    <div class="module three">Stuff</div>
    <div class="module four">Stuff</div>
    <div class="OMG I TAKE A SECOND TO LOAD">FOOBAR</div>
</aside>

我认为它在解析最后一个 div 时会卡住,因此实际上还没有关闭侧边栏。

我的问题是,在长时间加载 div 加载之前,是否有一种“好的”(最好是无 javascript)方式来加载所有侧边栏并关闭它?

4

1 回答 1

1

“javascriptless”将是这里的问题。如果您希望将整页快速发送给用户,然后在该页面上异步加载一些“较重”的组件,那么最好的选择是 ajax。事实上,建议对页面的所有具有外部依赖关系且不是用户页面访问的主要主题的组件多产地执行此操作。

这可能需要一些工作,但现代 js 库可以完成所有客户端的繁重工作。您只需要为每个侧边栏 div(或至少将异步加载的那些)创建不同的 URL。

你的想法很好,这是一个很好的架构(不要让用户等待侧边栏中的东西!)。

于 2012-08-24T19:48:37.660 回答