无法读取 Ionic 4 和 Angular 8 上未定义的属性“订阅”

Red*_*ane 4 inappbrowser ionic-framework ionic-native angular ionic4

我正在为我的项目使用Ionic 4Angular 8。我的项目需要与支付网关服务集成。我正在使用Ionic 4 InAppBrowser 插件打开支付网关站点。

这是我的实现:

const browserRef = this.browser.create(paymentUrl, '_blank');
this._hookBrowserClosedSubscription = browserRef.on('loadstop').subscribe(event => {
  console.log(event);
});
Run Code Online (Sandbox Code Playgroud)

我使用命令ionic cordova run android --device --livereload --no-native-run在真实设备上运行我的应用程序。当我尝试使用 InAppBrowser 插件打开页面时出现以下错误:

无法读取未定义的属性“订阅”

我一直在寻找这个错误,他们大多提到它在浏览器上的存在,而不是真实设备

我正在使用的软件包:

"cordova-plugin-inappbrowser": "^3.0.0"
"@ionic-native/in-app-browser": "^5.8.0",
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?

谢谢

Red*_*ane 5

最后,

我找到了问题的根本原因。我不知道为什么,但in-app-browser出现在我的packages.json

"cordova-plugin-inappbrowser": "^3.0.0"
"@ionic-native/in-app-browser": "^5.8.0",
Run Code Online (Sandbox Code Playgroud)

当我在设备上使用 运行我的应用程序时Chrome Inspect,我看到了一条警告消息:

本机:InAppBrowser 未安装或您正在浏览器上运行。回退到 window.open,所有实例方法都将不起作用。

我尝试使用 2 个命令安装 in-app-browser:

ionic cordova plugin add cordova-plugin-inappbrowser
npm install @ionic-native/in-app-browser
Run Code Online (Sandbox Code Playgroud)

当我再次运行我的应用程序时,警告消息消失了,浏览器按我的预期工作。

多么愚蠢的错误。

希望这可以帮助有相同情况的人。