我已经完成了一个使用InAppBrowser的Ionic 4应用程序,当目标是_self时,它可以在iOS设备上正常工作但是当目标是_blank时,InAppBrowser会尝试加载网页但仍保留在白色屏幕上。
我安装了
ionic cordova plugin add cordova-plugin-inappbrowser
npm install @ionic-native/in-app-browser
我已在相应的ts页面和app.module.ts中导入
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
我在app.module.ts中声明它是一个提供者
providers: [
InAppBrowser,
StatusBar,
SplashScreen,
CallNumber,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
这是代码
const browser = this.iab.create('https://www.google.com', '_blank');
browser.show();
我特意为ios设备记住这个错误。我的原因是使用localhost:XXXX
而不是有效的URL,其中XXXX是端口号。如果您的XXXX端口上没有运行应用程序,则会发生这种情况。
我在iOS上意识到,当你使用像localhost这样的无效URL:XXXX时,inappbrowser
无法呈现404错误的页面。它只是没有显示任何东西:(。在Android设备上你会得到一个404页面说,找不到URL。但是对于iOS这不会发生。我花了一段时间才弄明白。
遇到您的问题,如果您使用有效的工作URL获得此问题,请检查您是否已连接到互联网。
虽然问题在Ionic Dev App中仍然存在,但是在我通过TestFlight测试的最终应用程序版本中不会出现这种情况。所以看起来这只是一个Ionic Dev App问题。
您无需在下面添加代码browser.show();