Android WebView des liens vers la même fenêtre avec target=_blank à ouvrir une nouvelle fenêtre
J'ai un hybride application qui utilise WebView pour le rendu html externe de mon propre site. Il avait un problème que si un lien a été cliqué, il a commencé une fenêtre de navigateur. J'ai trouvé ce code pour m'aider et ça fonctionne:
myWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
});
Mais maintenant le problème est que je veux qu'il fonctionne pas pour les liens qui ont target=_blank. Donc, normale de liens encore ouvert à l'intérieur de la WebView tandis que les liens avec target=_blank devrait ouvrir dans une nouvelle fenêtre du navigateur.
Quelque façon que nous pouvons faire cela?
Grâce
OriginalL'auteur mim | 2014-11-19
Vous devez vous connecter pour publier un commentaire.
D'abord,
mWebView.getSettings().setSupportMultipleWindows(true);
Puis dans
WebChromeClient
, remplacerOnCreateWindow()
Changé le code, n'a jamais travaillé sur le code HTML, donc pensé que cette cible chose après un peu de recherche. Des excuses.
Merci pour la mise à jour du code, le nouveau code ne permet pas de résoudre WebViewActivity2. Quel paquet appartient-elle?
Ce code est pour référence, vous devez utiliser votre propre nom de l'activité ici, ou passer contexte de l'application.
Le code ne semble pas fonctionner après j'ai utilisé mon propre nom de l'activité, etc. Il ne donne pas d'erreur mais aussi ne pas obtenir ce que je voulais. Donc je suppose que je vais devoir renoncer à cette méthode et utiliser simplement une allusion au fait que si l'url contient une chaîne de caractères (dans mon cas "redirect"), puis-je utiliser l'ancien code que vous avez donné pour initialiser un navigateur intention et d'annuler le présent appel. J'espère que cela va fonctionner. Je suis de l'acceptation de votre réponse ça m'a aidé à comprendre la chose. Je vous remercie.
OriginalL'auteur Darpan
De l'essayer.
Référence: Carson Ip
OriginalL'auteur Aashish
Un paramètre plus nécessaire pour webview en plus de myWebView.getSettings().setSupportMultipleWindows(true);
myWebView.setJavaScriptCanOpenWindowsAutomatically(true);
OriginalL'auteur Amresh Deshpande