效果监控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源码解析( ...
随机推荐
- python day06笔记总结
2019.4.3 S21 day06笔记总结 一.昨日内容补充 1.列表独有功能: 1.revers 反转 例:v1 = [1,2,4,88,2] v1.revers() print(v1) 2.so ...
- unittest模块小结
这次写的是unittest模块的测试用例,属于自动化的门槛,进去了基本算自动化入了门,测试内容很简单,模拟给url推送用户名.密码测试登录功能 先上代码: #login_test.py import ...
- HTML入门第三天
三. 表格table(表格类数据): 1.表格标签(重中之重) 基本结构标签: <table>:定义表格区域 <tr>:定义表格的行 <td>:定义表格中的单元格 ...
- Java框架spring 学习笔记(一):SpringBean、ApplicationContext 容器、BeanFactory容器
Spring容器是Spring框架的核心,容器可以创建对象并创建的对象连接在一起,配置和管理他们的整个生命周期.Spring 容器使用依赖注入(DI)来作为管理应用程序的组件,被称为 Spring B ...
- Spring:AOP
摘要 本文内容为我在网上搜集Spring AOP资料的汇总.摘抄. AOP是一种编程思想,其对不同对象进行了横向的抽象,将不同对象的.和主流程无关的公共逻辑抽象出来以方便维护.AOP的实现基础为AOP ...
- linux命令总结----转载
1.终端是个奇妙的东西,一开始它的低颜值,高难度可能会令我们灰心气馁. 但是入门之后,你会发现终端命令行是如此强大,简直飞一般的感觉.就是这个feel,倍儿爽~ 享受“弹指间,一切尽在掌握”的感觉. ...
- vue项目性能优化,优化项目加载慢的问题
一. 对路由组件进行懒加载: 如果使用同步的方式加载组件,在首屏加载时会对网络资源加载加载比较多,资源比较大,加载速度比较慢.所以设置路由懒加载,按需加载会加速首屏渲染.在没有对路由进行懒加载时,在C ...
- 【python深入】map/reduce/lambda 内置函数的使用
python中的内置函数里面,有map和reduce两个方法,这两个方法可以非常好的去做一些事情,但是之前都没有用过,下面是关于这两个方法的介绍: 一.map相关 map()会根据提供的函数对指定的序 ...
- Hillstone目的地址转换DNAT配置
目的地址映射主要用于将内网的服务器对外进行发布(如http服务,ftp服务,数据库服务等),使外网用户能够通过外网地址访问需要发布的服务. 常用的DNAT映射有一对一IP映射,一对一端口映射,多对多端 ...
- Oracle SQL Developer 调试存储过程步骤(Oracle)
1.首先你编译通过你的存储过程,编译的时候一定要选“编译以进行调试”. 2.在想要调试的行上设置好断点. 3.点击“调试”按钮,然后输入存储过程入参,点“确定”开始调试. 4.断点进入后,上方会出现一 ...