Ionic 4-InAppBrowser无法与'_blank'配合使用-页面无法加载

时间:2019-03-22 15:55:57

标签: node.js angular ionic-framework inappbrowser

我已经完成了一个使用InAppBrowser的Ionic 4应用程序,当目标为_self但目标为_blank时,它在iOS设备上运行良好,InAppBrowser尝试加载网页但仍显示在白色屏幕上。

我已安装

def download_pkg(self):
    (...)

def download_several_apps(self):
    global inputFileName_download,listbox_input

    if(listbox_input.size() == 0):
        print("NO INPUT FILE")
    elif(listbox_input.size() == 1):
        print("filename :" + str(self.inputFileName_download))

        with open(self.inputFileName_download, 'r') as f:
            for line in  f:
                print(line)
                download_pkg(line)
    else:
        print("Problem while downloading several apps")

我已在相应的ts页面和app.module.ts中导入

 ionic cordova plugin add cordova-plugin-inappbrowser
 npm install @ionic-native/in-app-browser

我已在app.module.ts中将其声明为提供程序

import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';

这是代码

providers: [
InAppBrowser,
StatusBar,
SplashScreen,
CallNumber,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],

4 个答案:

答案 0 :(得分:0)

我记得这个错误是专门针对ios设备的。对我来说,原因是使用localhost:XXXX代替了有效的URL,其中XXXX是端口号。如果您的XXXX端口上没有运行任何应用程序,则会发生这种情况。

我意识到是在iOS上,当您使用无效的URL(例如localhost:XXXX)时,inappbrowser无法呈现404错误页面。它只是无法显示任何内容:(.。在android设备上,您会得到一个404页面,说没有找到URL。但是在iOS上却没有发生。花了我一段时间才能弄清楚。

出现问题时,如果使用有效的有效网址获取此问题,请检查是否已连接到Internet。

答案 1 :(得分:0)

尽管该问题在Ionic Dev App中仍然存在,但在我通过TestFlight测试过的最终应用程序版本中并没有出现。看来这只是一个Ionic Dev App问题。

答案 2 :(得分:0)

截至今天,2021 年 2 月 26 日。使用 ionic 6。 我遇到了这个问题,但我发现这个问题正在发生,因为我在添加cordova InAppBrowser插件之前已经构建了我的项目。

我的解决方案

  1. 打开你的项目目录。找到文件夹 android(或 iOS,具体取决于您构建的平台)和文件夹平台。

  2. 在项目目录之外的某处复制上面列出的两个文件夹,或者您只需重命名它们。

  3. 打开您的 CLI 并导航到项目目录,然后按顺序运行以下代码。

    1. npm run build

    2. ionic capacitor add android

    3. ionic capacitor copy android && cd android && gradlew assembleDebug && cd ..

答案 3 :(得分:-1)

您不需要添加以下代码 browser.show();