2017-02-06 2 views
0

Ce problème se produit uniquement sur iPad avec iOS 10.Cordova InAppBrowser est vide sur iPad iOS 10

Lorsque je tente d'utiliser InAppBrowser avec presentationstyle ensemble à fullscreen, il apparaît bien, mais quand je tape sur le bouton Terminé, J'ai un écran vide. On dirait que ça ne se détruit pas correctement.

J'utilise Cordova 6.4.0 et 1.6.1 plug-in InAppBrowser

Répondre

2

Je ne sais pas si cela est applicable pour vous, mais je suis aussi d'avoir un problème avec un écran vide après avoir appuyé sur le bouton Terminé, mais ce fut seulement passe dans le paysage. Encore vaut le coup si:

cordova-plugin-statusbar & cordova-plugin-inappbrowser apparemment ne jouent pas bien ensemble pour essayer soit de supprimer cordova-plugin-statusbar tous ensemble ou ajouter un écouteur d'événement à la sortie:

openUrl(url) { 
    let ref = cordova.InAppBrowser.open(url, '_blank', options); 

    ref.addEventListener('exit',() => { 
    StatusBar.hide(); 
    StatusBar.show(); 
    }) 
} 

StatusBar.hide() est ce que résolu le problème pour moi .

EDIT: Comme l'a noté René, il existe une colonne vide avec le repère ci-dessus. Afin de résoudre complètement le problème à la fois l'iPhone et l'iPad sans avoir à retirer le plug-in, envelopper le StatusBar.show() appel dans un setTimeout d'une seconde:

openUrl(url) { 
    let ref = cordova.InAppBrowser.open(url, '_blank', options); 

    ref.addEventListener('exit',() => { 
    StatusBar.hide(); 

    setTimeout(() => { 
     StatusBar.show(); 
    }, 1000) 
    }) 
} 

Merci René!

+0

Merci, je vais essayer – Baidaly

+0

Merci, cela fonctionne. J'ai également dû envelopper l'appel 'StatusBar.show();' dans un 'setTimeout' d'une seconde car l'appeler pendant l'animation cachée de l'inappbrowser n'a pas complètement supprimé la vue vide mais une colonne vide à droite est restée visible . Appeler show() après que l'animation a terminé ce problème. –