我的POS创建了一个包含当前订单详细信息的对象,作为传递这些变量以便在其他脚本中使用的方法,在本例中是我的联盟跟踪器。
问题是,我如何调用在我的联盟跟踪器脚本中插入这些元素?
对象是:
<script>
window.order = {"id":128131,"number":"GMIFZHW9XR84M2","total":"29.9","name":"Some Name"}
</script>
还有几行,我有我的联盟跟踪器脚本
<div id='papSaleTrackingPlaceholder'></div>
<script type="text/javascript">
(function(d,t) {
var script = d.createElement(t); script.id= 'pap_x2s6df8d'; script.async = true;
script.src = '//aff.ticket1.eu/scripts/d2f7zu4j0kx';
script.onload = script.onreadystatechange = function() {
var rs = this.readyState; if (rs && (rs != 'complete') && (rs != 'loaded')) return;
PostAffTracker.setAccountId('default1');
var sale = PostAffTracker.createSale();
var obj = window.order;
console.log(window.order);
console.log(obj.total);
sale.setTotalCost(obj.total);
sale.setOrderID(obj.number);
sale.setProductID('XXXXXX');
sale.setCampaignID('a5b61064');
try { PostAffTracker.track(); } catch (e) {}
}
var placeholder = document.getElementById('papSaleTrackingPlaceholder');
placeholder.parentNode.insertBefore(script, placeholder);
placeholder.parentNode.removeChild(placeholder);
})(document, 'script');
</script>
在我的控制台日志中,我正确地获取了所有属性,但它们没有被传递给脚本。我如何将obj中的值传递给:
sale.setTotalCost('xxxx');
sale.setOrderID('XXXX');
sale.setProductID('XXXX');
感谢您的回答。
答案 0 :(得分:0)
首先,检查&#34; window.order&#34;当你将它分配给另一个对象时会存在&#34; obj&#34;。
如果是这样,现在你应该可以从window.order创建obj,如下所示:
var obj = window.order
现在来自&#34; obj&#34;,您可以访问window.order的所有属性 您可以使用debug或仅使用console.log的obj.id来检查obj值; obj.total等...