我正在使用Angular 4项目,我必须将razorpay集成到项目中,在测试,开发环境中可以正常工作,但是在特定环境中会引发错误,在实际环境中会引发以下错误。
vendor.cdeb9a8730a2fc78a675.bundle.js:1错误TypeError: this.winRef.nativeWindow.Razorpay不是构造函数
代码
rzp1:any;
this.rzp1 = new this.winRef.nativeWindow.Razorpay(this.paymentOptions, successCallback, cancelCallback);
this.rzp1.open(this.paymentOptions, successCallback, cancelCallback);
窗口引用服务
import { Injectable } from '@angular/core';
function _window() : any {
// return the global native browser window object
return window;
}
@Injectable()
export class WindowRefService {
get nativeWindow() : any {
return _window();
}
}
答案 0 :(得分:0)
已启用内容安全性
已经为停止加载外部js文件的特定域启用了内容安全性,我要求服务器团队将Razorpay url(https://checkout.razorpay.com/v1/checkout.js)列入白名单,然后正常工作。