给博客添加了伪AJAX,最后又移除了它

正文
一周前,给博客加了段伪Ajax尝鲜,最后又移除了它。
从代码上来说,大多数WordPress主题使用的异步加载方法都是“假的Ajax”,它们虽然有不刷新跳转的效果,但并不能节省流量。这些代码的原理大同小异:先异步获取完整页面,再选出主要元素,最后把主要内容填充到当前页面。在这个过程中,浏览器仍需要获取完整页面,并没有节省流量。
一种理想的情况是异步获取Json,之后解析它并填充到当前页面。如此一来,既能节省流量加快速度,也能达到不刷新跳转的效果。在WordPress上实现这种功能需要添加很多内容,有添加它的时间还不如自己写一套博客程序。我对前端后端都不懂,所以也懒得弄。
目前Google Adsense还不支持Ajax:块广告还好,可以手动调用Push方法刷一下,但若放置自动广告,第二次调Push时会报enable_page_level_ads冲突,不能刷新。
如果想搞一个全站音乐播放器或类似的东西,那么还是加上伪Ajax为好,如果使用Adsense,那么Ajax就需要酌情考虑了。
关于加载速度:我的博客在使用Wp-Super-Cache插件,文章是静态化的,即使没有异步加载,速度也应该不会太慢。腾讯云学生机的小水管偶尔会卡住,但无伤大雅。
哈哈,我也是用的假PJAX,仍然请求的是完整网页。曾经有一段时间是通过在header里面做标记,服务端检测到后只返回对应的部分,但这样写起来挺麻烦的。
Typecho好像没有原生的JSON API,听说Ghost有,用来写一个完全的单页网站应该不错。
同假PJAX受害者,但hexo没后端好像没有办法检测是否返回完整页面呢… 或许可以额外生成文章json然后加载渲染文章,但那就需要自己重写pjax了吧…我还是等着换vuepress吧 🙂
可以试试看前端SPA(vue,angular,react,等玩意),然后用wp rest来实现数据交互,应该就是纯JSON了,至于谷歌Adsense我记得有插件的,例如vue的话可以用vue-google-adsense之类的解决( ̄▽ ̄;)
确实……
就连我修改的主题也是如此。
我发现这个博主的主题的AJAX是自己写的,真实节省流量。
https://blog.qwq.moe/
蚊子大佬自己搞的Typecho路由,大佬们的日常操作。