【问题标题】:Cordova InAppBrowser is blank on iPad iOS 10Cordova InAppBrowser 在 iPad iOS 10 上为空白
【发布时间】:2017-02-06 16:32:55
【问题描述】:

此问题仅发生在装有 iOS 10 的 iPad 上。

当我尝试使用 InAppBrowser 并将 presentationstyle 设置为 fullscreen 时,它弹出很好,但是当我点击完成按钮时,我得到一个空白屏幕。看起来它并没有正确地破坏自己。

我正在使用 Cordova 6.4.0 和 InAppBrowser 插件 1.6.1

【问题讨论】:

    标签: cordova inappbrowser


    【解决方案1】:

    不确定这是否适用于您,但我在点击完成按钮后也遇到了空白屏幕的问题,但它只发生在横向。不过还是值得一试:

    cordova-plugin-statusbarcordova-plugin-inappbrowser 显然不能一起玩,所以尝试一起删除 cordova-plugin-statusbar 或在退出时添加事件侦听器:

    openUrl(url) {
      let ref = cordova.InAppBrowser.open(url, '_blank', options);
    
      ref.addEventListener('exit', () => {
        StatusBar.hide();
        StatusBar.show();
      })
    }
    

    StatusBar.hide() 为我解决了这个问题。

    编辑:正如 René 所指出的,存在一个空白列,上面提到了修复。为了在不删除插件的情况下完全解决 iPhone 和 iPad 中的问题,请将 StatusBar.show() 调用封装在一秒的 setTimeout 内:

    openUrl(url) {
      let ref = cordova.InAppBrowser.open(url, '_blank', options);
    
      ref.addEventListener('exit', () => {
        StatusBar.hide();
    
        setTimeout( () => {
          StatusBar.show();
        }, 1000)
      })
    }
    

    谢谢勒内!

    【讨论】:

    • 谢谢,试试看
    • 谢谢,这行得通。我还必须将StatusBar.show(); 调用封装在一秒钟内的setTimeout 中,因为在inappbrowser 的隐藏动画期间调用它并没有完全删除空白视图,但右侧的空白列仍然可见。动画完成后调用 show() 修复了这个问题。
    猜你喜欢
    • 2019-09-22
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多