Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
Line 3: | Line 3: | ||
// == Google Analytics ========================================================= | // == Google Analytics ========================================================= | ||
+ | var cyrb53 = function(str, seed = 0) { | ||
+ | var h1 = 0xdeadbeef ^ seed, | ||
+ | h2 = 0x41c6ce57 ^ seed; | ||
+ | for (i = 0, ch; i < str.length; i++) { | ||
+ | ch = str.charCodeAt(i); | ||
+ | h1 = Math.imul(h1 ^ ch, 2654435761); | ||
+ | h2 = Math.imul(h2 ^ ch, 1597334677); | ||
+ | } | ||
+ | h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507) ^ Math.imul(h2 ^ h2 >>> 13, 3266489909); | ||
+ | h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507) ^ Math.imul(h1 ^ h1 >>> 13, 3266489909); | ||
+ | return 4294967296 * (2097151 & h2) + (h1 >>> 0); | ||
+ | }; | ||
+ | console.log(1); | ||
− | + | var clientIP = "{$_SERVER['REMOTE_ADDR']}"; | |
− | + | var validityInterval = Math.round (new Date() / 1000 / 3600 / 24 / 4); | |
− | + | var clientIDSource = clientIP + ";" + window.location.host + ";" + navigator.userAgent + ";" + navigator.language + ";" + validityInterval; | |
− | + | var clientIDHashed = cyrb53(clientIDSource).toString(16); | |
Revision as of 19:12, 14 November 2021
/* Any JavaScript here will be loaded for all users on every page load. */ // == Google Analytics ========================================================= var cyrb53 = function(str, seed = 0) { var h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed; for (i = 0, ch; i < str.length; i++) { ch = str.charCodeAt(i); h1 = Math.imul(h1 ^ ch, 2654435761); h2 = Math.imul(h2 ^ ch, 1597334677); } h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507) ^ Math.imul(h2 ^ h2 >>> 13, 3266489909); h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507) ^ Math.imul(h1 ^ h1 >>> 13, 3266489909); return 4294967296 * (2097151 & h2) + (h1 >>> 0); }; console.log(1); var clientIP = "{$_SERVER['REMOTE_ADDR']}"; var validityInterval = Math.round (new Date() / 1000 / 3600 / 24 / 4); var clientIDSource = clientIP + ";" + window.location.host + ";" + navigator.userAgent + ";" + navigator.language + ";" + validityInterval; var clientIDHashed = cyrb53(clientIDSource).toString(16); (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-158655997-1', { 'storage': 'none', 'clientId': 'clientIDHashed' }); ga('set', 'anonymizeIp', true); ga('send', 'pageview'); // == /Google Analytics =========================================================