this.winRef.nativeWindow.Razorpay不是构造函数

时间:2019-08-06 11:18:09

标签: javascript angular razorpay

我正在使用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();
   }
}

1 个答案:

答案 0 :(得分:0)

已启用内容安全性

已经为停止加载外部js文件的特定域启用了内容安全性,我要求服务器团队将Razorpay url(https://checkout.razorpay.com/v1/checkout.js)列入白名单,然后正常工作。