这里是情况-我在一个基于角度的应用程序中使用Mastercard支付网关api。api接受成功和错误的回调,回调在脚本标记的数据错误和数据成功属性中传递,以加载Mastercard api。
<script src="https://eu-gateway.mastercard.com/checkout/version/49/checkout.js"
data-error="errorCallback"
data-cancel="cancelCallback">
</script>我有一个在火狐和Chrome中运行很好的解决方案,但是在IE11中绝对失败了。我已经取消了所有的多边形填充导入,但是无论我尝试了多少,都没有任何效果。
以下是我迄今所做的工作:
export class AppComponent implements OnInit {
constructor(private ngZone: NgZone, private router:Router) {
var _self = this;
(<any>window).errorPaymentCallback = function(error){
console.log(error);
};
(<any>window).cancelPaymentCallback = function(){
console.log('cancel');
};
}无论我尝试了什么,回调都不会被触发,而是api返回一个错误。有什么想法吗?
发布于 2018-10-04 13:13:43
您可以分派一个事件,然后在AppComponent中捕获它。
你就是这样做的:
<script src="https://eu-gateway.mastercard.com/checkout/version/49/checkout.js"
data-error="errorCallback"
data-cancel="cancelCallback">
</script>
<script type="text/javascript">
function errorCallback(error) { document.dispatchEvent(new Event('payment-error', { bubbles: true })); }
function cancelCallback() { document.dispatchEvent(new Event('payment-error', { bubbles: true })); }
window.global = window;
</script>在AppComponent中
@HostListener('document:payment-error', ['$event'])
paymentError(event){
//do your work
}https://stackoverflow.com/questions/52646829
复制相似问题