我正在开发一个使用Wicket呈现页面的电子商务。我有一个"BasePage“与主布局,并在我的”感谢您购买“页面中,我想添加谷歌分析电子商务跟踪代码。作为参考,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>购物车和结账的HTML代码很简单,但是如何使用Wicket动态生成这个JS呢?
发布于 2011-07-13 07:44:42
是的,只是为了简单地使用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);
})();"
);
}
}发布于 2011-07-13 06:40:18
我不认为Wicket对构建Label本身有任何帮助,您必须手动构造JS字符串,然后将您的<script>标记声明为Label组件并将JS字符串设置为其模型,或者使用IHeaderContributor接口。
https://stackoverflow.com/questions/6671244
复制相似问题