<!DOCTYPE html> <html> <head> <script src="cocoon.js"></script> <script> // ,        //    CocoonJS CocoonJS.App.proxifyConsole(); //  Google Analytics (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'); //       Canvas+  , //     - console.log('GA interface ready, informing parent'); CocoonJS.App.forward('window.gaInterfaceIsReady()'); </script> </head> <body> </body> </html>  CocoonJS.App.forward('window.gaInterfaceIsReady()');  if(!navigator.CocoonJS){ //   Google Analytics (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'); }else{ var interfaceReady = false; var queue = []; var flushQueue = function(){ var cmd; while(cmd = queue.shift()){ forwardCmd(cmd); } }; var forwardCmd = function(cmd){ CocoonJS.App.forwardAsync(cmd); }; var addToQueue = function(cmd){ queue.push(cmd); if(interfaceReady){ flushQueue(); } }; //          window.gaInterfaceIsReady = function(){ interfaceReady = true; flushQueue(); }; //   -   webview console.log('Creating GAI interface'); CocoonJS.App.loadInTheWebView("http://path.to/your/proxy.html"); //   GA window.ga = function(){ var args = ''; for(var i = 0 ; i < arguments.length ; i++){ if(i > 0){ args += ','; } args += JSON.stringify(arguments[i]); } var cmd = 'window.ga(' + args + ')'; addToQueue(cmd); }; } //   ga,   Source: https://habr.com/ru/post/246431/
All Articles