IM Nouveau sur Webviews et essayer de faire une application à l'aide de celle-ci. J'ai une popup qui est affichée à l'aide de JavaScript. Il a un bouton de fermeture à fermer. En plus du bouton de fermeture, je veux utiliser le bouton de retour natif. p>
C'est-à-dire que si l'utilisateur clique sur le bouton arrière, ma popup doit être fermée. P>
Mon doute est-il, faut-il des modifications de l'application native? Ou les visions WebViews convertissent l'action du bouton arrière à certains événements tels que KeyPress que la vision Web peut comprendre? P>
5 Réponses :
Si vous utilisez Cordoue, il offre un événement pour suivre le bouton arrière sur les périphériques Android: Vous pouvez remplacer cet événement et mettre en œuvre votre propre comportement. Autre que cela ne devrait pas être un moyen de suivre l'événement du bouton arrière. P> p>
Je n'utilise pas Cordoue pour ce projet.
Je ne sais pas si vous avez la prise en charge de HTML5, mais si oui Lorsque la fenêtre contextuelle est affichée, utilisez Ajoutez un écouteur d'événement à historique.pustate code> et
historique.onpopstate code> de l'historique API fera exactement ce que vous voulez. < / p>
pushstate code> pour informer le navigateur d'une nouvelle entrée d'historique, comme si la popup était plutôt une nouvelle page. p>
historique.onpopstate code> qui ferme la fenêtre contextuelle, s'il est ouvert. p>
Vous suggérez que je devais écouter les événements ci-dessus et effectuer l'action étroite quand elle tire?
Oui! Édité pour élaborer!
Vous pouvez essayer de mélanger une question et leurs solutions: P>
Intercepter le Bouton Back Tap Event dans Android P> LI>
EXEC une fonction JS à l'intérieur de la webview (de l'extérieur) p> li>
que déclenchera un événement dans le document P> LI>
Écoutez cet événement à l'aide de document.addeventlistener code> et fermez ici votre boîte de dialogue / alerte p> li>
ol>
En cliquant sur Backbutton fermerait votre mode de vue qui montre le modal.
Je suppose que vous ne voulez pas que cela se produise, et fermez simplement le modal JavaScript. P>
Oui, vous devez modifier votre code natif. P>
On native backbutton click # your native code to intercept the back button if your modal is open: # there are multiple options here # first strategy # let javascript inform native side when it opens/closes popup # native just needs to check the status he has # second strategy # native asks javascript if he has a modal open # this is a bit tricky because native can't get a return value from javascript # native asks javascript to tell native if he has a modal open (native->javascript + javasciprt -> native two function calls) # native checks what javascript just said close the modal # this is easy, ask javascript to close it.
Pour aider davantage ce que Laufoo code> a déclaré:
Utilisez-vous PhoneGap? Qu'est-ce que vous utilisez exactement?
Pouvez-vous mettre à jour où vous êtes à @goose?