我正在使用 Ionic 4
和 Angular 8
为我的项目。
我的项目需要与支付网关服务集成。
我正在使用 Ionic 4 InAppBrowser plugin打开支付网关站点。
这是我的实现:
const browserRef = this.browser.create(paymentUrl, '_blank');
this._hookBrowserClosedSubscription = browserRef.on('loadstop').subscribe(event => {
console.log(event);
});
我使用命令
ionic cordova run android --device --livereload --no-native-run
在真实设备上运行我的应用程序。当我尝试使用 InAppBrowser 插件打开页面时出现以下错误:无法读取未定义的属性“订阅”
我一直在寻找这个错误,他们大多在 上提到它的存在。浏览器 ,不是 真机 .
我正在使用的软件包:
"cordova-plugin-inappbrowser": "^3.0.0"
"@ionic-native/in-app-browser": "^5.8.0",
有人可以帮我吗?
谢谢
最佳答案
最后,
我找到了问题的根本原因。
我不知道为什么但in-app-browser
出现在我的 packages.json
:
"cordova-plugin-inappbrowser": "^3.0.0"
"@ionic-native/in-app-browser": "^5.8.0",
当我在我的设备上运行我的应用程序时,使用
Chrome Inspect
,看到一条警告信息:native :InAppBrowser 未安装或您正在浏览器上运行。回退到 window.open,所有实例方法都将不起作用。
我尝试使用 2 个命令安装 in-app-browser:
ionic cordova plugin add cordova-plugin-inappbrowser
npm install @ionic-native/in-app-browser
当我再次运行我的应用程序时,警告消息消失了,浏览器按我的预期工作。
多么愚蠢的错误。
希望这可以帮助有相同情况的人。
关于angular - 无法读取 Ionic 4 和 Angular 8 上未定义的属性 'subscribe',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56777158/