加载渲染内容,Jquery模板或Bigpipe?建立一个复杂的网站

时间:2011-01-17 14:15:34

标签: jquery jquery-templates

我知道这个问题已经被问到,如何像加载内容一样建立像facebook / gmail这样的网站。

但答案很薄弱。为了帮助,我做了一些研究。有没有人研究过这个并且可以提供一些指导?

我有三条不同的路线:

1)jquery.load(在html中加载),加载css和getscript JS。

我还没有理解,我需要弄清楚,是如何跟踪CSS / JS被动态加载的内容.IOW我不想在用户时继续加载相同的CSS / JS访问他们已经缓存的页面。

使用全局JS变量或隐藏的div是明智的吗?

2)Bigpipe。

我见过.net的实现。但有没有人知道PHP的实现。我在github上看到了这一点:https://github.com/dynamoid/bigpipe但我对此并没有太深刻的印象。还有其他任何实现吗?

3)Jquery模板

我一直在做这方面的研究。这会是最好的方式吗?即使我可以让模板首先加载(和缓存),然后将数据应用到它。我仍然模糊地跟踪每页加载的CSS和JS。

最后,如果您知道有关最佳做法选择的任何资源,请告知我们。

谢谢:)

2 个答案:

答案 0 :(得分:2)

我以为我会回来回答这个问题。

在浏览此博客后:http://jmperezperez.com/我提出了自己的解决方案。

1)我创建了标题,内容和页脚的线框。标题和内容区域后来被赋予id以将内容加载到它们中。

2)使用Jquery地址,我可以在浏览网站时更新地址栏而无需任何页面刷新。

3)在后端,我然后组装json来反馈内容,可以是多个div,然后加载JS和CSS。

4)然后,我创建了一个脚本,动态加载CSS和JS,并跟踪已加载的内容。如果页面被多次请求,则无法两次加载CSS和JS。

也许以后,我会查看如何做得更好:http://jmperezperez.com/talk-facebook-frontend-javascript/

现在我的网站运行与facebook / gmail完全相同。除了登录和注销外,根本没有页面刷新。

如果有人知道使用jquery处理单页应用程序的任何github repos。让我知道。

由于

答案 1 :(得分:0)

我强烈建议您使用bigpipe实现,而不是使用PHP和原型编写的garo版本https://github.com/garo/bigpipe

您的网站存在的问题是,因为它是一个基于Javascript的网站,搜索Google等机器人将无法正确索引您网站的内容,因为内容存在于您网站的其他部分,而如果机器人正在查看您的页面并正常渲染,bigpipe将检测并绕过。

我已经在wordpress安装上测试了bigpipe,并且可以说加载时间提高了3000%,这是由于在页面加载时加载外部数据(如图像,JS和CSS文件)的瓶颈。我用一个名为PHP Speedy的插件将其绑定,我将其修改为清理所有无用的空白并将css和javascript以及其他所有内容压缩成一行代码,并且可以告诉您它值得在您的站点中实现而不是依赖于AJAX方法。如果您使用的是JQuery,则可能需要使用noConflict函数来阻止两个不同的JS库发生冲突。

您可以从此处抓取它:https://github.com/garo/bigpipe

如果你使用它,你会发现它比你做的更好!