JS统计页面访问次数并传递可选参数
来源:互联网 发布:php域名授权管理系统 编辑:程序博客网 时间:2024/06/06 06:37
网站有些页面需要统计用户的访问次数,下面是一个简单的JS,引用在需要统计的页面类。
网站上有个Handler处理提交来的信息,只是简单的入库处理,用户每访问或者刷新一次,就有一条记录插入库中。
JS如下:
/** * 统计页面访问次数 * 依赖于jquery * 使用方法: * 在页面添加引用 <script src="../../Scripts/PageVisit.js" type="text/javascript"></script> * 支持两个参数: rootUrl:门户服务器地址,默认为空串 * visiter:访客名,默认为'anonymous' * 门户页面引用可以不传递参数,直接使用相对路径 * 传递参数方法: * <script src="../../Scripts/PageVisit.js?rootUrl=http://127.0.0.1:28099&visiter=test" type="text/javascript"></script> * 注意:rootUrl最后不应有'/'*/(function (root, factory) { //--root is window factory(root.jQuery, root);})(this, function ($, window) { function PageVisit() { this.parseOption(); this.recordLog(); } PageVisit.defaults = { visiter: 'anonymous', rootUrl: '' }; /** * 解析选项,如果未设置选项,则用默认选项 */ PageVisit.prototype.parseOption = function () { var params = new Map(); var document = window.document; var js = document.getElementsByTagName("script"); for (var i = 0; i < js.length; i++) { if (js[i].src.indexOf("PageVisit.js") >= 0) { var arraytemp = new Array(); arraytemp = js[i].src.split('?'); if (arraytemp.length > 1) { var paramsArray = arraytemp[1].split('&'); paramsArray.forEach(element => { paramsArray = element.split('='); params.set(paramsArray[0], paramsArray[1]) }); } } } var parsedOption={rootUrl:params.get('rootUrl'),visiter:params.get('visiter')} this.options = $.extend({}, this.constructor.defaults,parsedOption); } PageVisit.prototype.recordLog = function (options) { var self = this; var pathname = window.location.pathname; var hostname = window.location.hostname + ':' + window.location.port; var search = window.location.search.split('?')[1]; var href = window.location.href.split('?')[0]; var reqUrl = "/Modules/SYS/PageVisitHandler.ashx"; if (self.options.rootUrl !== undefined && self.options.rootUrl !== '') { reqUrl = self.options.rootUrl + reqUrl; } $.ajax({ type: "Post", url: reqUrl, data: { pathName: pathname, domainName: hostname, url: href, params: search, visiter: self.options.visiter }, success: function (data) { } }); } return new PageVisit();});
两种使用方式:
1.如果页面与后台Handler是同一个站点,则直接引用
<script src="../../Scripts/PageVisit.js" type="text/javascript"></script>
2.如果页面与后台Handler不是同一个站点,如是APP中的页面,则要传递Handler所在服务器的地址,如:
<script src="../../Scripts/PageVisit.js?rootUrl=http://127.0.0.1:28099&visiter=test" type="text/javascript"></script>
阅读全文
0 0
- JS统计页面访问次数并传递可选参数
- js统计页面访问次数
- jq 更新访问次数并统计页面停留时间
- 实现页面访问次数统计
- localstorage统计访问页面次数
- js cookies统计访问次数
- js统计进入页面次数
- Struts2统计用户访问页面次数
- js统计网站访问次数的代码
- js页面间参数传递
- js页面间参数传递
- JS控制静态页面之间传递参数获取参数并应用(window.location)
- JS控制静态页面之间传递参数获取参数并应用(window.location)
- 统计JAVA网站访问次数并获得访问者IP
- php统计静态html页面浏览访问次数代码
- PHP+MYSQL 如何准确实现页面访问统计次数
- php实现静态页面的访问次数统计
- php教程统计静态html页面浏览访问次数代码
- PHP 使用session
- 数据挖掘学习------------------2-关联规则-1-基本概念
- DOTween:Sequence
- YOLOv2源码分析(一)
- java多线程(2)-实现生产者/消费者模式
- JS统计页面访问次数并传递可选参数
- jQuery选择器
- ExpandableListView二级列表购物车,MVP获取数据
- Maven之无法创建webapp1.0的问题-yellowcong
- Undefined variable "dagnn" or class "dagnn.DagNN.loadobj"
- linux统计字符串在文件出现次数
- iOS 获取 webView 加载完成后的高度
- Android版本与API对照表
- 基于R语言的聚类(谱聚类)