You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
4.0 KiB
JavaScript

2 years ago
window.addEventListener('DOMContentLoaded', function (e) {
var count = 0,
timer = setInterval(function(){
if(typeof $ !== 'undefined'){
clearInterval(timer);
zeptoLoadedCallback();
return;
}
// 4.5秒还没加载出来,就不管了
if(count > 15){
clearInterval(timer);
}
},300);
function zeptoLoadedCallback(){
$('body').on('click','a',function(e){
var GameId,
me = $(this),
IsDownloadUrl = false,
linkUrl = me.attr("href");
/*
* 统计代码
*/
if (linkUrl.match(/\.apk$|\.plist$|apple\.com|\.ipa$|360\.cn\/redirect\/down\/|uc\.cn\/download\/package\//)) {
IsDownloadUrl = true;
}
if (IsDownloadUrl) {
var GameId = me.attr("href");
GameId = window.btoa(GameId);
var source = window.location.href.replace("http://" + window.location.host, "");
var source = source.replace(/\/so\/.*/, "/so/");
source = source.replace(/\d+(\/|$)/, "");
_czc.push(["_trackEvent", source, "down", GameId]);
}
// 拷贝的detect.js
var os = {},
browser = {},
ucweb = {},
ua = navigator.userAgent,
isHeight,
ipad = ua.match(/(iPad).*OS\s([\d_]+)/),
ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/),
android = ua.match(/(Android)\s+([\d.]+)/),
iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/),
ucAndroid = ua.match(/^UCWEB.+?(Adr|Android)/),
ucIphone = ua.match(/^UCWEB.+?(iPh|iPhone)/),
ucIpad = ua.match(/iPad/);
if (iphone && !ipod) os.ios = os.iphone = true, os.version = iphone[2].replace(/_/g, '.');
if (ipad) os.ios = os.ipad = true, os.version = ipad[2].replace(/_/g, '.');
if (ipod) os.ios = os.ipod = true, os.version = ipod[3] ? ipod[3].replace(/_/g, '.') : null;
if (android) os.android = true, os.version = android[2];
if (ucAndroid) ucweb.ucAndroid = true;
if (ucIphone) ucweb.ucIphone = true;
if (ucIpad) ucweb.ucIpad = true;
//alert(ucweb.ucAndroid);
// 新增对下载逻辑的更改
// 如果当前点击的a标签的地址里面有plist则针对iPad和iPhone进行不同的跳转
if (linkUrl.match(/\.(plist)$/)) {
// 目前规则仅针对list页有效
//if(location.href.match('list') === null){ return; }
if(os && os.iphone){
linkUrl = linkUrl.replace('ssl.naitang.com/Plist/app','ssl.naitang.com/Plist/iphone');
}
if (os && os.ipad) {
linkUrl = linkUrl.replace('ssl.naitang.com/Plist/app', 'ssl.naitang.com/Plist/ipad');
}
// android和其他情况linkUrl不处理
//isImgHeight = me.parent().attr("class");
//if((isImgHeight=='item-top') && ((location.href =='http://www.7k7k.com/m-android/') || (location.href =='http://www.7k7k.com/m-android/index/'))){
// $parentNode = me.parents(".item");
// isHeight = $parentNode.find(".info a").next().attr("data-is-fast-download");
//}else{
// isHeight = me.attr("data-is-fast-download");
//}
// 设定了data-is-fast-download并且值不为0的时候
// 认为是需要高速下载的,这个时候弹窗
//if(isHeight>0){
// callPopup(isHeight,me,os,ucweb,linkUrl);
//}else{
// return true;
//}
// return false 在zepto里面会最后阻止冒泡和默认行为
// 这样a标签的默认点击就会被阻止
return true;
// 其他情况下该怎么走就怎么走
}
});
}
}, false);