如何给Typecho主题加上历史访问记录功能

作者 : 星辰 本文共1025个字,预计阅读时间需要3分钟 发布时间: 2020-11-22 共387人阅读

给自己的主题加上这个历史访问记录功能在一定程度上是可以挽留一下读者的,比如:某位大佬经常通过搜索引擎进来我站,可能会发现以前他在这里也看过一些文章,比较合他口味,久而久之就能发展成为自己网站的常客了

其实这个实践起来并不是很复杂的,把里面的代码复制出来,比如viewhistory.js,引入到网站中,最好是头部部分,这样加载的生成的文章会比较优先

效果如下:

网站中要显示的历史文章位置放入

<div id="jl_viewHistory" >
  <h3>您刚刚看过如下文章:</h3>
</div>

这里就是加载历史访问过的文章所展示的位置

最后最最关键的部分是这一段js函数

<script>
jl_viewHistory({
    limit: 5,
    storageKey: 'jl_viewHistory',
    primaryKey: 'url',
    addHistory:  true;
    titleSplit: '|'
});
</script>

limit 用于记录显示的条数和存储的条数,可自行修改条数

storyageKey 用于配置需要显示的id,也代表着localStorage保存这些历史记录的为一个值

primaryKey 用户表示存储字段中以什么字段作为数据唯一的判断(一般以url)

addHistory 是否添加历史记录,一般主页不需要保存,而文章页需要保存

如果你用的是 typecho 那可以用下面逻辑判断:

addHistory: <?php if ($this->is(‘post’)) { ?> true <?php }else{ ?>false<?php } ?>,

titleSplit用于表示标题以什么作为切割,切割之后取第一截。

其中

addHistory: <?php if ($this->is('post')) { ?> true <?php }else{ ?>false<?php } ?>,

这一段的意思是只有在文章的时候,会被收录,如果其他的页面也要收录,那就设置为true就行了

大概就那么多,也可以操作viewhistory文件去记录图片,访问量,作者,描述等……

这个功能实现非常简单,实现方法也很多,比如可以将内容保存在 cookie 中,但用 cookie 储存存在一些问题。cookie 是随 HTTP 响应一起被发送的, 会对服务器端响应时间产生一定程度的影响。

其实利用 cookie 是最实用的,因为几乎可以兼容所有浏览器。我这里使用的 localStorage,数据完全保存在浏览器中,不会有影响服务器响应, 但是在 IE6/7 中不能使用

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"www.vfaner.com",如遇到无法解压的请联系管理员!

微范儿 » 如何给Typecho主题加上历史访问记录功能

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
需要帮助?
加官方群:71622543,即可向管理员或者群员咨询,看到第一时间回复
×
开通VIP 享更多特权,建议使用QQ登录