Wie bekomme ich Webview iframe Link, um den Browser zu starten?

Ich benutze ein WebView, um eine Seite anzuzeigen, in der die HTML enthält ein iframe mit src = "xxxxx.php".

Dieses iframe lädt als Anzeigenbild mit einem zugrunde liegenden Link. Wenn ich auf dieses Bild klicke (Link), versucht es, die neue Seite in original iframe zu laden (was in diesem kleinen Platz nicht viel zeigt). Was ich passieren möchte, klickt auf den Link, um die Seite in einem neuen Browserfenster zu öffnen und meine App zu verlassen.

  • Popup-Menü geht aus dem Bildschirm
  • Android ActionBar - Drücken Sie benutzerdefinierte Ansicht auf Unterseite des Bildschirms
  • PhoneGap und WhatsApp
  • WebView Crash von java.io.IOException: close failed: EIO (I / O-Fehler) libcore.io.IoUtils.close (IoUtils.java:41)
  • Sqlite Delete Query-Syntax in Android
  • JQuery Mobile native select funktioniert nicht auf Droiden
  • Wenn ich den Android-Browser benutzt, um die Original-Seite anzuzeigen und auf diesen iframe zu klicken, lädt er den Link als neue Seite. Wie bekomme ich das gleiche Verhalten mit einem WebView? Mit einem WebViewClient mit shouldOverrideUrlLoading () scheint nicht von der iframe-Verbindung aufgerufen zu werden.

  • Was ist die Best-Practice-Methode, um die zugrundeliegenden Daten eines Adapters zu aktualisieren?
  • Android (Java) HttpURLConnection Silent Wiederholen auf 'read' Timeout
  • Android Studio: Konnte nicht finden com.android.tools.build:gradle:2.0.0-alpha2
  • Wie man einen bestimmten Teil von WebPage in Webview mit Fit Screen auf alle Geräte zeigt
  • VerifyError in Android-Test-Projekt-Build-Tools v17
  • Richtige Möglichkeit, Systemumgebungsvariablen in gradle mit Android Studio zu verwenden
  • 2 Solutions collect form web for “Wie bekomme ich Webview iframe Link, um den Browser zu starten?”

    Ich hatte ein ähnliches Problem mit Google-Anzeigen in einer WebView-Quelle, da sie auch in einem iframe laden. So habe ich es gelöst:

    Versuchen Sie dies in Ihrem WebViewClient, in der Regel unter Ihrem shouldOverrideUrlLoading ()

    @Override public void onLoadResource (WebView view, String url) { if (url.contains("googleads")) { if(view.getHitTestResult().getType() > 0){ view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); view.stopLoading(); Log.i("RESLOAD", Uri.parse(url).toString()); } } } 

    Ich kann ein Update vor dem vorherigen Code vorschlagen:

     @Override public void onLoadResource (WebView view, String url) { if (url.contains("googleads")) { if(view.getHitTestResult() != null && (view.getHitTestResult().getType() == HitTestResult.SRC_ANCHOR_TYPE || view.getHitTestResult().getType() == HitTestResult.SRC_IMAGE_ANCHOR_TYPE)){ view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); view.stopLoading(); } } } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.