Angular 使用Android Emulator时发生ReferenceError

Angular 使用Android Emulator时发生ReferenceError,angular,ionic-framework,stripe-payments,ionic4,Angular,Ionic Framework,Stripe Payments,Ionic4,我将stripe v3与我的ionic 4应用程序和angular一起使用。最近我在android和iOS上编译了这个应用程序。当我使用 cordova ionic emulate ios 一切都很好。当我使用时: cordova ionic emulate android 应用程序正在构建中,但我一个接一个地看到了白色屏幕。我在index.html中实现了条带: <head> <head> <script src="https://js.stripe.co

我将stripe v3与我的ionic 4应用程序和angular一起使用。最近我在android和iOS上编译了这个应用程序。当我使用

cordova ionic emulate ios
一切都很好。当我使用时:

cordova ionic emulate android
应用程序正在构建中,但我一个接一个地看到了白色屏幕。我在
index.html
中实现了条带:

<head>
<head>
  <script src="https://js.stripe.com/v3/"></script>
<!-- rest of code... ->
浏览器和iOS正在工作。Android在模拟器中-不是

我该修什么


提前感谢您。

添加脚本标记对于爱奥尼亚来说是不够的。您需要使用适当的依赖项注入,并且有一个用于Stripe的插件

我建议遵循他们的文档,看看如何使其工作:

下面是集成插件的指南。但是,如果您使用的是v3,则可能会有差异。不确定插件是否支持该版本

除上述所有内容外,还需要检查您的应用程序是否允许从条带CDN获取文件

<allow-navigation href="https://js.stripe.com" />

尝试在配置xml中添加上述内容

如果您坚持使用javascript库而不使用插件,那么您声明Stripe的地方可能不正确


试着把它放在打字机/科尔多瓦打字机上。d.ts

谢谢大家的帮助

老实说,我解决了我的问题-我不知道为什么它会起作用,但是:

  • 删除android平台
  • 已删除的www文件夹
  • 重建的android平台:
  • 在my index.html中添加了“async”
  • 
    

    谢谢,

    没有。我需要创建在v3版本上可用的条带元素。在iOS上,一切正常。在这个插件中没有:elements()的API。由于新规定,我无法使用createCardToken。这个问题的关键就是我所描述的。Ionic v4使用typescript,并大量依赖于依赖项注入。仅仅声明一个脚本标记是行不通的。您需要创建一个模块并将该模块注入到您的服务中,或者在需要的任何地方检查我在上面添加的关于允许导航的部分。也许这就是你们的问题,谢谢你们。我会在几分钟内发布anserwe。
    <allow-navigation href="https://js.stripe.com" />
    
    ionic cordova platform remove android
    
    rm -rf www/
    
    ionic cordova platform add android
    
    <!-- async added to script tag -->
    <script src="https://js.stripe.com/v3/" async></script>