"use strict"; /** GA list for event */ var event_gaList = [ {'tag': '', 'type': 'gaq'}, {'tag': 'b', 'type': 'gaq'}, {'tag': 'c', 'type': 'gaq'}, {'tag': 'uaa', 'type': 'ga'}, {'tag': 'uab', 'type': 'ga'} ]; /** event sending class For related article */ var RelatedArticle = function() {}; RelatedArticle.labelList = {}; RelatedArticle.redirectUrl = ''; RelatedArticle.sendEvent = function(link, page, gaList) { var __getLabel = function(pageUri) { var labelList = RelatedArticle.labelList; var label = ''; for (var idx in labelList) { if (pageUri.indexOf(labelList[idx].page) == -1) continue; label = labelList[idx]; break; } return label; }; var __getEvent = function(type) { if (type==='gaq') { return function(tag, category, action, label) { var prefix = (tag=='' ? '' : tag+'.'); _gaq.push([prefix+'_trackEvent', category, action, label]); }; } if (type==='ga') { return function(tag, category, action, label) { var prefix = (tag=='' ? '' : tag+'.'); ga(prefix+'send', 'event', category, action, label); }; } return function(tag, category, action, label) {}; } var label = __getLabel(link.href); var eventCategory = '関連記事_'+label.sensation, eventAction = 'クリック', eventLabel = label.tag; for (var idx in gaList) { // send event __getEvent(gaList[idx].type)(gaList[idx].tag, eventCategory, eventAction, eventLabel); } // set redirect url RelatedArticle.redirectUrl = link.href; // redirect after 0.5 seconds setTimeout(function() { location.href = RelatedArticle.redirectUrl; }, 500); }