stats.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /**
  2. * wen
  3. * 2018年1月3日10:50:49
  4. * 引用方式: <script src="js/stats.js" th:src="@{/static/js/stats.js}" remark="团购活动"></script>
  5. * 参数:
  6. * remark(可选),用于多页面同一活动的数据统计。
  7. *
  8. */
  9. window.onload = function(){
  10. _stats();
  11. };
  12. //用户点击进来的
  13. function _stats(){
  14. var url=window.location.href;
  15. var title=document.title;
  16. var shareCode=getQueryString("shareCode");
  17. _statsSend(url,title,shareCode);
  18. }
  19. //得到当前url的参数shareCode
  20. function getQueryString(name){
  21. try {
  22. var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
  23. var r = window.location.search.substr(1).match(reg);
  24. if(r!=null){
  25. return unescape(r[2]);
  26. }
  27. } catch (e) {
  28. }
  29. return '';
  30. }
  31. //用户点击进来的添加记录到数据
  32. function _statsSend(url,title,shareCode){
  33. $.ajax({
  34. url : "/weixin/tyzyb/recordActs",
  35. type : 'post',
  36. dataType : 'json',
  37. data : {
  38. 'url' : url,
  39. 'urlTitle':title,
  40. 'target':'',
  41. 'type':'0',
  42. 'shareCode':shareCode,
  43. 'remark':getJsPathParam("js/stats.js","remark") //getParam(getJsPath("js/stats.js"),"remark")
  44. },
  45. success : function(data) {
  46. }
  47. });
  48. }
  49. //获取当前的js文件的的属性值
  50. function getJsPathParam(jsname,paramname) {
  51. var paramval = "";
  52. try{
  53. var js = document.scripts;
  54. for (var i = js.length; i > 0; i--) {
  55. if (js[i - 1].src.indexOf(jsname) > -1) {
  56. if(!_isNull(js[i - 1].getAttribute(paramname))){
  57. paramval=js[i - 1].getAttribute(paramname);
  58. break;
  59. }
  60. }
  61. }
  62. } catch (e) {
  63. }
  64. return paramval;
  65. }
  66. //空判断
  67. function _isNull(val){
  68. if(val == "" || val == undefined || val == null){
  69. return true;
  70. }
  71. return false;
  72. }
  73. //获取当前的js文件的路径
  74. function getJsPath(jsname) {
  75. var jsPath = "";
  76. try{
  77. var js = document.scripts;
  78. for (var i = js.length; i > 0; i--) {
  79. if (js[i - 1].src.indexOf(jsname) > -1) {
  80. return js[i - 1].src;
  81. }
  82. }
  83. } catch (e) {
  84. }
  85. return jsPath;
  86. }
  87. //获取js文件后面的参数
  88. function getParam(jspath, parm) {
  89. try {
  90. var urlparse = jspath.split("\?");
  91. if(urlparse.length>1){
  92. var parms = urlparse[1].split("&");
  93. var values = {};
  94. for(var i = 0; i < parms.length; i++) {
  95. var pr = parms[i].split("=");
  96. if (pr[0] === parm)
  97. return decodeURI(pr[1]);
  98. }
  99. }
  100. } catch (e) {
  101. }
  102. return "";
  103. }