gpt4 book ai didi

javascript - 使用 angularjs 调用普通 javascript

转载 作者:行者123 更新时间:2023-12-02 14:49:17 25 4
gpt4 key购买 nike

我正在尝试将用于联属营销跟踪的旧版 JavaScript 代码包含到 angularjs 应用程序中

<script type="text/javascript">
//<![CDATA[

/*** Do not change ***/
var AWIN = {};
AWIN.Tracking = {};
AWIN.Tracking.Sale = {};

/*** Set your transaction parameters ***/
AWIN.Tracking.Sale.amount = '{{order_total}}';
AWIN.Tracking.Sale.orderRef = '{(order_id}}';
AWIN.Tracking.Sale.parts = '{{cats}}';
AWIN.Tracking.Sale.voucher = '';
AWIN.Tracking.Sale.currency = 'GBP';
AWIN.Tracking.Sale.test = '0';
AWIN.Tracking.Sale.channel = 'aw';
//]]>
</script>

我需要调用上面的代码(用 angualr 变量填充占位符),然后调用:

    <script src="https://www.dwin1.com/xxxx.js" type="text/javascript" defer="defer"></script>

执行此操作的最佳方法是什么?我尝试将代码放入 Angular 函数中,但没有成功。我还尝试将变量传递到 $window 中,并尝试将它们插入到 CDATA 中,但没有成功。有什么想法吗?

<小时/>

我应该将此代码添加到包含在 angualrjs Controller 中的 HTML 页面中

最佳答案

您所尝试的操作无法直接使用 angularjs 实现。你需要做如下的事情

//Note: this is a new JS file included in your main html

(function() {
"use strict";

window.AWIN = {};

window.populateAwin = function(args) {
//<![CDATA[

/*** Do not change ***/
AWIN.Tracking = {};
AWIN.Tracking.Sale = {};

/*** Set your transaction parameters ***/
AWIN.Tracking.Sale.amount = args.order_total;
AWIN.Tracking.Sale.orderRef = args.order_id;
AWIN.Tracking.Sale.parts = args.cats;
AWIN.Tracking.Sale.voucher = '';
AWIN.Tracking.Sale.currency = 'GBP';
AWIN.Tracking.Sale.test = '0';
AWIN.Tracking.Sale.channel = 'aw';
//]]>
}

}());

然后,您需要通过传递所需数据从 Controller 调用此函数,如下所示

populateAwin({
order_total: $scope.order_total,
order_id: $scope.order_id,
cats: $scope.cats
});

完成此操作后,您可以继续从 Controller 动态包含脚本,如下所示

var scriptEl = document.createElement("script");
scriptEl.type = "text/javascript";
scriptEl.defer = "defer";
scriptEl.src = "https://www.dwin1.com/xxxx.js";

document.body.appendChild(scriptEl);

关于javascript - 使用 angularjs 调用普通 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36313284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com