wor*_*l.j 9 html javascript seo jquery html-generation
最近,我想到了如何提高Web应用程序的整体性能,而不是从Web服务器生成可立即显示的html页面,为什么不让它在客户端完全生成.这样做,只需要将纯数据(在我的情况下是JSON格式的数据)发送到浏览器.这将把html生成的工作从服务器卸载到客户端的浏览器,并减少发送回用户的响应数据包的大小.
经过一些研究,我发现这个框架(http://beebole-apps.com/pure/)与我的相同.
我想知道的是这样做的利弊.对于Web服务器来说肯定更快更好,并且使用现代浏览器,Javascript代码可以快速运行,因此可以快速完成页面生成.
这种方法的缺点可能是SEO.我不确定像谷歌这样的搜索引擎是否会适当地索引我的网站. 你能告诉我这种方法的缺点是什么吗?
Ps:我还附上了示例代码,以帮助描述方法如下:
在头部,简单的JavaScript代码将写如下:
<script type='javascript' src='html_generator.js'/>
<script>
function onPageLoad(){
htmlGenerate($('#data').val());
}
</script>
Run Code Online (Sandbox Code Playgroud)
在正文中,只存在一个元素,仅用作数据容器,如下所示:
<input type='hidden' id='data' value='{"a": 1, "b": 2, "c": 3}'/>
Run Code Online (Sandbox Code Playgroud)
当浏览器呈现文件时,将调用html_generator.js中的htmlGenerate函数,并在此函数中生成整个html页面.请注意,html_generator.js文件可能很大,因为它包含许多html模板,但由于它可以在浏览器中缓存,因此只会下载一次.
如果您只是为了提高速度而不建议使用此方法.但是,它通常在Web应用程序中完成,其中用户保持在同一页面上,但是您可能最好使用其中一个现有框架,例如backbone.js,并确保它可以通过跟踪Google来保持可抓取状态hashbang准则或HTML5 PushState(由@rohk建议).
如果它只是你正在寻找的性能,你的应用程序并不一定要像这样工作,不要这样做.但是,如果你这样做,那么请确保你以标准化的方式进行,以便它保持快速和可索引.
| 归档时间: |
|
| 查看次数: |
3192 次 |
| 最近记录: |