2016-10-08 2 views
0

My POSは、これらの変数を他のスクリプト(この場合はマイ・アフィリエイト・トラッカー)で使用するために渡す方法として、現在の注文の詳細を含むオブジェクトを作成します。JSオブジェクトからスクリプトへの要素の挿入

質問は、私のアフィリエイトトラッカースクリプトでこれらの要素を挿入する方法ですか?

オブジェクトは、次のとおりです。

<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

ここに問題があると分かりません。「sale.setTotalCost(window.order.total);」と他のメソッドと同じことが必要です。 – Gabriel

答えて

0

まず、他のオブジェクト「obj」に割り当てるときに「window.order」が存在するかどうかを確認します。

もしそうなら、今あなたがそうのようwindow.orderからOBJを作成することができるはずです:「OBJ」から

var obj = window.order 

さて、あなたは window.orderのすべてのプロパティへのアクセス権を持っているかを確認することができますobjの値をデバッグするか、単にobj.idのconsole.logを使用します。 obj.totalなど...

+0

ウィンドウが存在します。 –

+0

'console.log(obj.total); '私はコンソールに正しい値を与えるが、 ' sale.setTotalCost =(obj.total); '動かない。 –

+0

これは試しましたか? window.orderが既にJavascriptオブジェクトである場合、それを解析する必要はありません。 これを実行すると、window.orderが "obj"にコピーされ、その中のプロパティで何でもできます。 'sale.setTotalCost(obj.total); // sale.setOrderID(obj.number); // ???これが正しいプロパティである場合 // sale.setProductID(obj.id); // ???これが正しいproperty' –

関連する問題