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

2025-05-29 0 79

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

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

定义文章访问统计

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47
$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的:

?

1

2

3

4

5
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程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Ajax实现对静态页面的文章访问统计功能示例 https://www.kuaiidc.com/96864.html

相关文章

发表评论
暂无评论