fd-gulp-convert-encoding
Version:
convert file to assigned charset
110 lines (85 loc) • 3.11 kB
JavaScript
define('detail.modules.commendOffer.View',
['jQuery', 'Class'],
function($, Class) {
return Class({
init: function(view, config) {
this.onEvent = $.os.supportsTouch ? 'tap' : 'click';
this.div = view;
this.config = config;
this._clickstat();
this._ctrRequest();
},
_clickstat: function(){
var hasOwn = Object.prototype.hasOwnProperty,
that = this;
$('a', this.div).on(this.onEvent, function(e){
e.preventDefault();
var elm = $(this),
nodeData = elm.data('clickstat'),
param = {}, arrData = [], m;
nodeData = that._parseObj(nodeData);
nodeData.objectId && (param.objectId = nodeData.objectId);
nodeData.alg && (param.alg = nodeData.alg);
nodeData.pid && (param.pid = nodeData.pid);
nodeData.objectType && (param.objectType = nodeData.objectType);
param.page = that.config.statScene;
param.recId = that.config.recid;
param.st_page_id = that.config.pageid || '';
param.time = new Date().getTime();
for (m in param) {
if (hasOwn.call(param, m)) {
arrData.push(m + '=' + param[m]);
}
}
arrData = '?' + arrData.join('&');
// $.ajax('http://stat.1688.com/bt/1688_click.html' + arrData, {
// dataType: 'script',
// success: function(){
// }
// });
(new Image).src = 'http://stat.1688.com/bt/1688_click.html' + arrData;
})
},
_ctrRequest: function(){
var param = {},
arrData = [], m,
hasOwn = Object.prototype.hasOwnProperty;
param.object_type = this.config.objectType;
param.object_ids = this._sniffNode().join(';');
param.page_area = this.config.recid;
param.ctr_type = this.config.statScene;
param.page_id = this.config.pageid;
for (m in param) {
if (hasOwn.call(param, m)) {
arrData.push(m + '=' + param[m]);
}
}
arrData = '?' + arrData.join('&');
// $.getScript('http://ctr.1688.com/ctr.html' + arrData);
(new Image).src = 'http://ctr.1688.com/ctr.html' + arrData;
},
_sniffNode: function() {
var arr = [], nodeData,
that = this;
$.each($('li', this.div), function(i, v){
nodeData = that._parseObj($(v).data('ctr'));
if(!$.isPlainObject(nodeData)){
nodeData = {
objectId: '',
alg: ''
}
}
arr.push((nodeData.objectId || '') + ',' + (nodeData.alg || ''));
});
return arr;
},
_parseObj: function(data){
try {
return (typeof data === "object") ? data : (new Function("return " + data))();
}
catch (e) {
return {};
}
}
});
});