效果监控js源码
function _bxmPlatformFn(e, t) {
var n, o, i = "";
try {
i = localStorage.getItem("listenId")
} catch (e) {
i = getCookie("listenId")
}
"function" == typeof e ? (n = getQueryString("bxm_id") || i,
o = e) : (n = e || getQueryString("bxm_id") || i,
o = t),
bxmAjax(n, "", o)
}
function bxmAjax(e, t, n) {
if (null != e) {
var o = {
phone: "",
bxm_id: e.toString(),
status: "",
modeltype: t
};
ajax({
url: "https://buy.bianxianmao.com/shop/countInfo",
data: JSON.stringify(o),
type: "post",
success: function(e) {
console.log(o),
"function" == typeof n && n()
},
error: function(e) {
console.log(e),
"function" == typeof n && n()
}
})
}
}
function getQueryString(e) {
var t = new RegExp("(^|&)" + e + "=([^&]*)(&|$)","i")
, n = window.location.search.substr().match(t);
return null != n ? unescape(n[]) : null
}
function indexCount() {
var e = "";
try {
getQueryString("bxm_id") ? localStorage.setItem("listenId", getQueryString("bxm_id")) : e = localStorage.getItem("listenId")
} catch (t) {
getQueryString("bxm_id") ? setCookie("listenId", getQueryString("bxm_id")) : e = getCookie("listenId")
}
bxmAjax(getQueryString("bxm_id") || e, "")
}
function ajax(e) {
(e = e || {}).type = (e.type || "GET").toUpperCase(),
e.dataType = e.dataType || "json";
var t = e.data;
if (window.XMLHttpRequest)
var n = new XMLHttpRequest;
else
n = new ActiveXObject("Microsoft.XMLHTTP");
n.onreadystatechange = function() {
if ( == n.readyState) {
var t = n.status;
t >= && t < ? e.success && e.success(n.responseText, n.responseXML) : e.fail && e.fail(t)
}
}
,
"GET" == e.type ? (n.open("GET", e.url + "?" + t, !),
n.send(null)) : "POST" == e.type && (n.open("POST", e.url, !),
n.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"),
n.send(t))
}
function formatParams(e) {
var t = [];
for (var n in e)
t.push(encodeURIComponent(n) + "=" + encodeURIComponent(e[n]));
return t.push(("v=" + Math.random()).replace(".", "")),
t.join("&")
}
function setCookie(e, t) {
var n = new Date;
n.setTime(n.getTime() + 2592e6),
document.cookie = e + "=" + escape(t) + ";expires=" + n.toGMTString()
}
function getCookie(e) {
var t, n = new RegExp("(^| )" + e + "=([^;]*)(;|$)");
return (t = document.cookie.match(n)) ? unescape(t[]) : null
}
indexCount();
效果监控js源码的更多相关文章
- MVVM大比拼之avalon.js源码精析
简介 avalon是国内 司徒正美 写的MVVM框架,相比同类框架它的特点是: 使用 observe 模式,性能高. 将原始对象用object.defineProperty重写,不需要用户像用knoc ...
- 让你心动的 HTML5 & CSS3 效果【附源码下载】
这里集合的这组 HTML5 & CSS3 效果,有的是网站开发中常用的.实用的功能,有的是先进的 Web 技术的应用演示.不管哪一种,这些案例中的技术都值得我们去探究和学习. 超炫的 HTML ...
- 8个前沿的 HTML5 & CSS3 效果【附源码下载】
作为一个前沿的 Web 开发者,对于 HTML5 和 CSS3 技术或多或少都有掌握.前几年这些新技术刚萌芽的时候,开发者们已经使用它们来小试牛刀了,如今这些先进技术已经遍地开发,特别是在移动端大显身 ...
- 从template到DOM(Vue.js源码角度看内部运行机制)
写在前面 这篇文章算是对最近写的一系列Vue.js源码的文章(https://github.com/answershuto/learnVue)的总结吧,在阅读源码的过程中也确实受益匪浅,希望自己的这些 ...
- 从Vue.js源码角度再看数据绑定
写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出.文章的原地址:https://github.com/an ...
- Underscore.js 源码学习笔记(下)
上接 Underscore.js 源码学习笔记(上) === 756 行开始 函数部分. var executeBound = function(sourceFunc, boundFunc, cont ...
- 修改CKplayer.js 源码解决移动端浏览器全屏不能限制快进的问题
原文地址:https://www.cnblogs.com/jying/p/9642445.html,转载请说明出处. 最近项目需要播放视频且限制未观看部分的快进功能,找了两款js插件ckplayer和 ...
- underscore.js源码研究(5)
概述 很早就想研究underscore源码了,虽然underscore.js这个库有些过时了,但是我还是想学习一下库的架构,函数式编程以及常用方法的编写这些方面的内容,又恰好没什么其它要研究的了,所以 ...
- underscore.js源码解析(五)—— 完结篇
最近公司各种上线,所以回家略感疲惫就懒得写了,这次我准备把剩下的所有方法全部分析完,可能篇幅过长...那么废话不多说让我们进入正题. 没看过前几篇的可以猛戳这里: underscore.js源码解析( ...
随机推荐
- 聊聊JMM
JMM是什么? JMM 全称 Java memory model ,直译过来就是Java内存模型,这里注意了,指到并不是JVM中的内存分布新生代.老年代.永久代这些,当然也不是 程序计数器(PC).j ...
- Spring的诞生
前言:不先学习常见的设计模式直接看Spring.MyBatis等源码,简直就是一个找虐的过程!不掌握Servlet原理.基本的Tomcat容器技术上来就看Spring MVC源码同样也是一个打击自信心 ...
- django-rest-framework配置json web token
安装jwt库,简单快速的生成我们所需要的token 1.安装djangorestframe pip install djangorestframe 2.在settings.py的INSTALLED_A ...
- java将一个List赋值给另一个List
声明和实例化: 声明:ArrayList a, 仅仅只是声明了一个list变量,其未来作用相当于C++中的引用变量,亦或者相当于一个对象块的索引,但并未为其分配具体的完整的对象所需要的内存空间,其所分 ...
- JS 通过 navigator获取判断浏览器信息
获取浏览器信息需要使用navigator.userAgent 对象 根据获取到的内容判断浏览器信息 亲身测试 navigator.userAgent IE 11 Mozilla/5.0 (Windo ...
- sublime安装PackageControl提示失败(被墙了)
An error occurred installing Package Control 然后下面又说visit....某网址 如果弹出这个错误的话,就是被墙了.翻个墙或者改hosts就行了 如果是改 ...
- java程序启动redis报错ERR Client sent AUTH, but no password is set
配置文件中注释掉password一句 重启程序即可
- 编写一个lambda,接受两个int,返回它们的和
void counter(int i, int b) { auto count = [i,b]{ return i + b; }; cout<< count(); } int main() ...
- Educational Codeforces Round 43 (Rated for Div. 2)
Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...
- Python开发【第十一篇】:MySQL
数据库介绍 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个或多个不同的API用于创建.访问.管理.搜索和复制所保存的数据.每个数据库都有一个或多个不同的API ...