実行は jQuery.f() の形式。
プラグインのコード
(function($){ $.extend({ // get cookie myGetCookie: function(name){ var regexp = new RegExp('; ' + name + '=([^;]*);'); var match = ('; ' + document.cookie + ';').match(regexp); if(match){ return match[1]; } }, // set cookie mySetCookie: function(key, val, validFunc){ var flg = true; if(validFunc){ if(!validFunc(val)){ flg = false; } } if(flg){ document.cookie= key + '=' + encodeURIComponent(val) + ';path=/;'; } }, // referrer -> key classifyReferrer: function(ref){ if('affiliate-b.com/'.indexOf(ref) >= 0){ return 'アフィリエイト'; }else if('google.co.jp/'.indexOf(ref) >= 0){ return 'Google-Organic'; }else if('google.com/aclk'.indexOf(ref) >= 0){ return 'Google-Adwords'; }else if('yahoo'.indexOf(ref) >= 0){ return 'Yahoo-Organic'; }else if('overture.com'.indexOf(ref) >= 0){ return 'Yahoo-Overture'; }else{ return 'その他'; } } }); })(jQuery);
呼び出し元
/* conversion tracking */ var CONVERSION_COOKIE_NAME = 'xx_ref'; var CONVERSION_INPUT_NAME = 'xx_ref'; // exec. if($('body#form-idx').length){ var c; if(c = jQuery.myGetCookie(CONVERSION_COOKIE_NAME)){ $('form').append(''); } } else { if(document.referrer) { jQuery.mySetCookie(CONVERSION_COOKIE_NAME, jQuery.classifyReferrer(document.referrer), function(val){ return (location.hostname.indexOf(val, 0) < 0); }); } }
0 件のコメント:
コメントを投稿