UNPKG

fd-gulp-convert-encoding

Version:

convert file to assigned charset

110 lines (85 loc) 3.11 kB
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 {}; } } }); });