使用Wicket生成Google Analytics电子商务跟踪

Edu*_*sta 2 wicket google-analytics

我正在开发一个使用Wicket来呈现页面的电子商务.我有一个主页布局的"BasePage",在我的"感谢您购买"页面中,我想添加Google Analytics电子商务跟踪代码.作为参考,JS代码如下:

<script type="text/javascript>
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-12345678-9']);
  _gaq.push(['_addTrans', '123', '', '12.56', '', '5.00']);
  _gaq.push(['_addItem', '123', 'sku-1', 'Product 1', 'Category X', '12.56', '1']);
  _gaq.push(['_addItem', '123', 'sku-2', 'Product 2', 'Category Y', '13.45', '1']);
  _gaq.push(['_trackTrans']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>
Run Code Online (Sandbox Code Playgroud)

购物车和结账的HTML代码很简单,但是如何使用Wicket动态生成这个JS?

msj*_*121 5

是的只是简单地使用IHeaderContributor.顺便问一下,你是否正在使用wicket电子商务的框架?我一直试图整合一两个没有太多运气.

 class BasePage extends Page implements IHeaderContributor {
        public BasePage(String id){
                super(id);
        }
        @Override
        public void renderHead(IHeaderResponse response){
                //You might want renderOnLoadJavascript....
                // Btw, I didn't format your string for java, you need to add quotation
                // marks or put it as one line.
                response.renderJavascript("var _gaq = _gaq || [];
                         _gaq.push(['_setAccount', 'UA-12345678-9']);
                         _gaq.push(['_addTrans', '123', '', '12.56', '', '5.00']);
                         _gaq.push(['_addItem', '123', 'sku-1', 'Product 1', 'Category X', '12.56', '1']);
                         _gaq.push(['_addItem', '123', 'sku-2', 'Product 2', 'Category Y', '13.45', '1']);
                         _gaq.push(['_trackTrans']);
                         (function() {
                             var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                             ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                             var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                         })();"
                );
        }
 }
Run Code Online (Sandbox Code Playgroud)