当前位置: 首页 > 编程笔记 >

Ajax实现对静态页面的文章访问统计功能示例

严兴言
2023-03-14
本文向大家介绍Ajax实现对静态页面的文章访问统计功能示例,包括了Ajax实现对静态页面的文章访问统计功能示例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Ajax实现对静态页面的文章访问统计功能。分享给大家供大家参考,具体如下:

众所周知,静态页面不仅速度快,而且对seo也有一定的帮助。前些日子,写了一帖关于《在SAE平台实现WordPress页面纯静态化至KVDB》。我自己使用了一段时间后,发现提速确实很明显。但是随之而来的一个问题就是,由于文章静态化后,页面并不会经过WordPress程序的处理,这样就导致了文章的访问量统计失效。当然,有一个叫做wp-postview的插件是可以解决这个问题的,但是我不是很喜欢插件,因为会拖慢整体的速度。所以这里就给出一个解决方案,就是使用Ajax来实现统计,同样是基于SAE平台的。

定义文章访问统计类

这个其实在我前面的帖子里面已经有提到过了KVDB+TaskQueue实现高效计数器,对这个做简单修改即可。由于不经过php处理,所以就不能使用队列服务来计数。同样定义计数类,并且放到网站根目录下:

$countkey=$_GET['key'];//获取要操作的计数key
if($countkey=="") exit;
if($_GET['action']=="add"){
  $cou=new counter($countkey);
  $cou->inc();//计数key对应的值加1
}elseif($_GET['action']=="get"){
  $cou=new counter($countkey);
  echo $cou->get();
}
class counter {
  private $kvdb;
  private $key;
  public function __construct($key){
    $this->kvdb=new CKvdb();
    $this->key=$key;
  }
  public function inc(){
    $num=$this->kvdb->get($this->key)+1;
    $this->kvdb->set($this->key,$num);
    return $num;
  }
  public function dec(){
    $num=$this->kvdb->get($this->key)-1;
    $this->kvdb->set($this->key,$num);
    return $num;
  }
  public function get(){
    $num=$this->kvdb->get($this->key);
    return intval($num);
  }
}
class CKvdb //这个类封装的kvdb操作。
{
  private $db;
  function __construct(){
    $this->db=new SaeKv();
    $this->db->init();
  }
  public function set($key,$value)
  {
    $this->db->set($key,$value);
  }
  public function get($key)
  {
    return $this->db->get($key);
  }
}

添加计数代码

在你的文章内容页面,添加如下的Ajax请求代码,该代码是基于jQuery的:

var keyTemp = $('#postTemp').text();
$.get('http://localhost/counter.php',{ action:'add',key:keyTemp });
$.get('http://localhost/counter.php',{ action:'get',key:keyTemp },function(data){
    $('#view').text(data+' Views');
});

keyTemp变量就是文章的别名,即存入KVDB中的键。我把该健存到一个隐藏的div身上,然后在使用Ajax的时候去获取该div的内容。Ajax中第一个get就是去访问counter.php计数类,并且带上参数,实现访问加1. 第二个get就是取访问值了,把取到的值放到相应的地方中去。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP+ajax技巧与应用小结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

 类似资料:
  • 本文向大家介绍PHP实现通过文本文件统计页面访问量功能示例,包括了PHP实现通过文本文件统计页面访问量功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现通过文本文件统计页面访问量功能。分享给大家供大家参考,具体如下: 一 代码 index.php gd1.php 二 运行结果 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP运算与运算符用法

  • 本文向大家介绍Python的Flask框架及Nginx实现静态文件访问限制功能,包括了Python的Flask框架及Nginx实现静态文件访问限制功能的使用技巧和注意事项,需要的朋友参考一下 Nginx配置 Ngnix,一个高性能的web服务器,毫无疑问它是当下的宠儿。卓越的性能,灵活可扩展,在服务器领域里攻城拔寨,征战天下。 静态文件对于大多数website是不可或缺的一部分。使用Nginx来处

  • 因为一些奇葩原因,我们公司用的wordpress不能修改主题里的文件,但又要在首页上获取后台的文章内容(按照分类来取出多篇文章, 每篇文章包含标题,摘要,时间,特色图片url) 网站的首页是在上图中创建的,但是页面只支持静态的html,又没有办法用php来写... 现在有一个可能的解决方案就是想办法在静态页面中取到文章的数组,再将数组传递给js变量,通过js遍历数组来制定html结构再输出到页面上

  • 本文向大家介绍AJAX +SpringMVC 实现bootstrap模态框的分页查询功能,包括了AJAX +SpringMVC 实现bootstrap模态框的分页查询功能的使用技巧和注意事项,需要的朋友参考一下 一 、效果图 二、JS 三、模态框 四、controller 好了,下面给大家介绍了bootstrap模态框 ajax分页实例代码,先给大家展示下效果图: 效果图: 上干货: 以上所述是小

  • 本文向大家介绍jquery实现的分页显示功能示例,包括了jquery实现的分页显示功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery实现的分页显示功能。分享给大家供大家参考,具体如下: 我们在显示文章列表的时候,通常需要分页显示。 一种方式是通过SQL查询的limit进行分页,即只查询该页面的数据。 另外一种方式是查询出所有的数据,传递给前段,然后用jquery控制只显示

  • 本文向大家介绍JS实现基本的网页计算器功能示例,包括了JS实现基本的网页计算器功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现基本的网页计算器功能。分享给大家供大家参考,具体如下: 运行效果: 网页计算机: 利用css进行div的布局设置基本的计算机的基本的框架, 在其内部设置text进行显示,利用button添加按钮。 一个主要的点:我们要在按按钮的时候,把数据输出到te