Skip to main content
 首页 » zblog教程

zblogPHP增加pjax功能,好吗?

2016年08月14日2098

201606217892_6927.jpg

zblogPHP增加pjax功能,好吗?首先我们了解下到底什么是pjax?

普通网站浏览时,点击一个站内的链接的时候,页面会跳转,跳转就会有个时间缓冲的过程,时间根据服务器性能等因素决定。

现在现在很多网站都有这样的一种浏览方式, 当你点击一个站内的链接的时候,页面没有跳转,只是本页内面刷新一下。这样的用户体验,比起整个页面都闪一下来说,好很多。这种技术就是pjax。

这些网站的ajax刷新是支持浏览器历史的,刷新页面的同时,浏览器地址栏位上面的地址也是会更改,用浏览器的回退功能也能够回退到上一个页面。

zblogPHP增加pjax功能,有什么好处吗?

(1) 提升用户体验

pjax的优点就是快,页面跳转的时候人眼需要对整个页面作重新识别,刷新部分页面的时候,只需要重新识别其中一块区域。同时,由于刷新部分页面的时候提供了一个loading的提示,以及在刷新的时候旧页面还是显示在浏览器中,用户能够容忍更长的页面加载时间。这样就大大提升了用户体验。

(2) 减少带宽消耗和服务器消耗

由于只是刷新部分页面,大部分的请求(css/js)都不会重新获取,网站带有用户登录信息的外框部分都不需要重新生成了。估计至少有40%以上的请求,30%以上的服务器消耗被节省了。所以pjax可以实现音乐不间断播放功能,当网站有外挂音乐播放器时,点击站内链接,音乐播放不会停止。

当然pjax也有弊端:

(1) pjax利用的是新的标准,旧的浏览器兼容会有问题。不过pjax本身支持fallback,当发现浏览器不支持该功能的时候,会回到原始的页面跳转上面去。

(2) 其次是复杂的服务器端支持,服务器端需要根据过来的请求,判断是作全页面渲染还是部分页面渲染,相对来说系统复杂度增大了。不过对于设计良好的服务器代码,支持这样的功能不会有太大的问题。

(3) 维护起来麻烦,有时也容易出错,还有SEO方面存在争议。

如果对SEO方面不太在意或比较喜欢自己的站点个性化,可以使用pjax。当然如果你的服务器不错,外加使用CDN等技术,如果不用音乐不间断播放,pjax也就形同虚设了。

微信