J'affiche une page Web dans un WebView et sur la page Web, il y a un bouton. Lorsque vous cliquez sur le bouton, une boîte de dialogue de confirmation est censée apparaître, mais elle n'apparaît pas dans mon WebView. Il fait popup si je vais à la même page Web dans le navigateur android. Quelqu'un sait comment gérer les boîtes de dialogue contextuelles provenant d'une page Web dans votre WebView?Comment gérer une boîte de dialogue de confirmation de webview?
18
A
Répondre
42
Ok, trouvé la réponse et la voici! Pour gérer une confirmation contextuelle provenant d'une page Web dans votre WebView, vous devez remplacer la méthode onJsConfirm dans WebChromeClient pour afficher la fenêtre contextuelle en tant que boîte de dialogue d'alerte Android. Voici le code pour le faire.
final Context myApp = this;
final class MyWebChromeClient extends WebChromeClient {
@Override
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
new AlertDialog.Builder(myApp)
.setTitle("App Titler")
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
result.confirm();
}
})
.setNegativeButton(android.R.string.cancel,
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
result.cancel();
}
})
.create()
.show();
return true;
}
}
Ne pas oublier de mettre votre WebChromeClient dans votre WebView ...
mWebView.setWebChromeClient(new MyWebChromeClient());
Note .. ce n'est pas mon code, mais je l'ai trouvé et cela fonctionne parfaitement pour la manipulation de javascript confirmation dialogues dans un WebView!
À la votre!
Questions connexes
- 1. javascript confirmation boîte de dialogue
- 2. Boîte de dialogue de confirmation Javascript
- 3. Boîte de dialogue de confirmation GWT
- 4. Boîte de dialogue de confirmation JQuery
- 5. Confirmation de la boîte de dialogue JQuery, confirmation du formulaire
- 6. Boîte de dialogue de confirmation de modification en ligne JqGrid
- 7. choix personnalisés dans la boîte de dialogue de confirmation javascript
- 8. Définir le titre de la boîte de dialogue de confirmation
- 9. Boîte de dialogue de confirmation jQuery UI - manipuler la sortie
- 10. Boîte de dialogue de confirmation à l'exécution dans asp.net
- 11. boîte de dialogue de confirmation (alerte) après soumettre le formulaire
- 12. Comment puis-je implémenter une boîte de dialogue de confirmation pour une action critique?
- 13. Boîte de confirmation Jquery
- 14. Comment écrire un script greasemonkey pour supprimer une boîte de dialogue de confirmation?
- 15. Comment concevoir un CSS pour une boîte de dialogue de confirmation flottante centrée?
- 16. Renvoi d'une valeur dans la boîte de dialogue de confirmation à l'aide de la boîte de dialogue JQuery UI
- 17. Ajouter une zone de texte à la boîte de dialogue de confirmation telerik radgrid
- 18. Comment gérer l'authentification de base dans WebView
- 19. Comment gérer la boîte de dialogue via sélenium avec python?
- 20. Comment gérer la boîte de dialogue des autorisations étendues
- 21. Boîte de dialogue Message/Confirmer
- 22. Comment proposer une boîte de dialogue 'confirmation' qui déclenche ensuite le code côté serveur
- 23. Comment afficher la boîte de dialogue de confirmation de suppression dans asp.net
- 24. mvc ajax.actionlink avec confirmation de dialogue jquery
- 25. Y a-t-il une boîte de dialogue de confirmation intégrée dans Windows Forms?
- 26. Utilisation d'un CAPTCHA dans une boîte de dialogue Boîte de dialogue jQuery UI
- 27. Comment écrire ma propre boîte de dialogue de confirmation en javascript?
- 28. Comment afficher une boîte de dialogue de confirmation avant de soumettre un formulaire à l'aide de la méthode jQuery ajax?
- 29. Boîte de dialogue de confirmation de l'interface utilisateur jQuery et publication asp.net
- 30. Comment implémenter correctement une boîte de dialogue modale en haut d'une boîte de dialogue non modale?
J'ai vue mvc et Sign Out mais ne fonctionne pas sur l'émulateur android. J'ai besoin d'aide pour cela, –
Merci brockoli ... Après un peu d'expérimentation, il semble qu'il suffit de retourner false de la méthode onJsConfirm pour que le WebView affiche une boîte de dialogue pour vous - au moins dans JellyBean ... WebChromeClient renvoie déjà false, donc 'webView.setWebChromeClient (new WebChromeClient());' a fait le travail pour moi! – Stevie