1 (function () { 2 //ã¯ã¨ãªä»ä¸å¯¾è±¡ã¨ãããªã³ã¯ã®ãã¡ã¤ã³ä¸è¦§ 3 var domainsToDecorate = [ 4 'veritas-english.jp', 5 'www.veritas-english.jp' 6 ], 7 //ä¿æå¯¾è±¡ã®ãã©ã¡ã¼ã¿ä¸è¦§ 8 queryParams = [ 9 'utm_medium', 10 'utm_source', 11 'utm_campaign', 12 'gclid' 13 ]; 14 15 //ãã¼ã¸å ã®ãªã³ã¯ï¼aã¿ã°ï¼ããã¹ã¦åå¾ 16 var links = document.querySelectorAll('a'); 17 18 //ãã¼ã¸å ã®ãªã³ã¯æ¯ã®å¦ç 19 for ( 20 var linkIndex = 0; 21 linkIndex < links.length; 22 linkIndex++ 23 ) { 24 for ( 25 var domainIndex = 0; 26 domainIndex < domainsToDecorate.length; 27 domainIndex++ 28 ) { 29 //ãã¼ã¸å ã®ãªã³ã¯ã対象ãã¡ã¤ã³ã®å ´åããªã³ã¯URLãç½®ãæã 30 if ( 31 links[linkIndex].href.indexOf( 32 domainsToDecorate[domainIndex] 33 ) > -1 && 34 links[linkIndex].href.indexOf('#') === -1 35 ) { 36 links[linkIndex].href = decorateUrl( 37 links[linkIndex].href 38 ); 39 } 40 } 41 } 42 43 //ãã¼ã¸å ã®ãªã³ã¯URLã«ãç¾å¨ã®URLã®ã¯ã¨ãªãã©ã¡ã¼ã¿ãé£çµ 44 function decorateUrl(urlToDecorate) { 45 urlToDecorate = 46 urlToDecorate.indexOf('?') === -1 47 ? urlToDecorate + '?' 48 : urlToDecorate + '&'; 49 var collectedQueryParams = []; 50 for ( 51 var queryIndex = 0; 52 queryIndex < queryParams.length; 53 queryIndex++ 54 ) { 55 if (getQueryParam(queryParams[queryIndex])) { 56 collectedQueryParams.push( 57 queryParams[queryIndex] + 58 '=' + 59 getQueryParam(queryParams[queryIndex]) 60 ); 61 } 62 } 63 //ã¯ã¨ãªãã©ã¡ã¼ã¿ããªãå ´åã¯URLæ«å°¾ã®?ãåé¤ 64 return collectedQueryParams.length === 0 65 ? urlToDecorate.slice(0, -1) 66 : urlToDecorate + 67 collectedQueryParams.join('&'); 68 } 69 70 //ç¾å¨ã®URLã®ã¯ã¨ãªãã©ã¡ã¼ã¿ãåå¾ 71 function getQueryParam(name) { 72 if ( 73 (name = new RegExp( 74 '[?&]' + encodeURIComponent(name) + '=([^&]*)' 75 ).exec(window.location.search)) 76 ) 77 return decodeURIComponent(name[1]); 78 } 79 })();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.