没错又是一篇水文 ε=ε=ε=┏(゜ロ゜;)┛
本来是想配置DisqusJS评论系统的,这样更方便了无法连接互联网的访客的使用,但是实在是懒得弄了,各种报错,而Disqus提供了现成的代码供使用,稍微改一下就能用了呀~
首先去Disqus注册一个站点,这就不多说啦w
然后根据Disqus给出的安装方式就可以完成初步安装了呢~
不过……如果就这么两句的话,咱也没必要来写这玩意了。咱的站点使用了ajax技术,自然对于评论的加载就没那么方便啦。对于一些重载、设置等等,需要做到的可远远不止直接引入那么方便呢。虽然……不论效率的话,多次重新载入embed.js确实可行,但是既然做了就要做到更好,而且Disqus官方也提供了ajax站点配置的参考,再偷懒的话岂不是有些说不过去?
于是基本的思想就是,在ajax后重载的地方(文章里)引入重载代码,在固定的地方(footer)引入embed.js加载代码。随后发现在普通页面加载时报错,那好,在不会被ajax影响的地方加一重判断是否为posts页面(hexo里通过is_post()来判断一个页面是否为post页面);发现直接访问post页面时出现加载错误,那就通过判断是否定义了DISQUS(if (typeof DISQUS == 'undefined')
)来判断是需要重载还是直接加载。于是,问题解决啦~
最后,分离shortname,站点就正式设置成功啦~主题也已经push上去啦(虽然已经变成私有项目的说)
当然啦,如果有必要的话,还可以反向代理disqus相关的站点,这样就能实现无论在哪里都能加载啦~