如何使用javascript将动态生成的值插入跟踪脚本?

时间:2016-12-19 21:44:56

标签: javascript global-variables event-tracking

我目前正在尝试在改进和点击渠道之间建立准确的收入跟踪,并且在转换代码生效方面遇到问题。基本上,最终订单价格在CF确认页面中生成,如下所示:

<div class="totalprice">$67.99</div> 

我需要将该值插入到改进的跟踪脚本中。这个目前在标题中,但我想将它放在页脚中可能会更好地确保动态价格已经加载,但我不确定。在标准改进脚本开始之前,我试图在没有货币符号的情况下试图获得价格。但它没有用。

<script type="text/javascript" src="https://alsearsmd.iljmp.com/improvely.js"></script>
<script type="text/javascript">
var price = document.getElementsByClassName('.totalprice').innerHTML.replace('$', '');  

improvely.init('alsearsmd', 1);
improvely.conversion({
    goal: 'sale',
    revenue: price,
    reference: '123'
});
</script>

2 个答案:

答案 0 :(得分:0)

您的价格分配无效。

使用此:

var price = document.getElementsByClassName('totalprice')[0].innerHTML.replace('$', '');

(类名不需要点,我们需要返回数组的第一个元素,[0])

编辑: 对于多个div,这是一种方式:

var price = [].slice.call(document.getElementsByClassName('totalprice')).map((div) => {
  return parseFloat(div.innerHTML.replace("$", ""));
}).reduce((a, b) => {
  return a + b;
}, 0);

答案 1 :(得分:0)

试试这个:

$(document).ready(function() {

    var prices = document.getElementsByClassName('totalprice');
    var price= 0;
    for (var i = 0; i < prices.length; i++) {
      price += parseFloat(prices[i].innerHTML.replace('$', ''));
    }

    improvely.init('alsearsmd', 1);
    improvely.conversion({
        goal: 'sale',
        revenue: price,
        reference: ''
    });

}