2013-05-26 23 views
8

Mit WebView, bestimmten Websites nehmen sehr lange Zeit Seite Last abzuschließen (wie in WebViewClient.onPageFinished()), und wenn das passiert, dann ist dies durch Web Console Fehler des folgenden Typs charakterisiert:Gibt es eine Möglichkeit, Webkonsolenfehler zu erkennen?

E/Web Console(1916): Unsafe JavaScript attempt to access frame with URL 
    http://mobile.example.com from frame with URL 
    http://ad.doubleclick.net/adi/interactive.example.com/front_sub;sz=320x50;ord=7340930261983. 
    Domains, protocols and ports must match. 
    05-26 10:44:15.274: E/Web Console(1916): at null:1 

würde Ich mag in der Lage sein, diese Fehler zu erfassen und sie in irgendeiner Weise zu behandeln. z.B. Ausgabe einer Nachricht oder irgendetwas für meine App relevanten, ist die tatsächliche Handhabung an dieser Stelle irrelevant für die Kernfrage:

Gibt es eine Möglichkeit, diese Fehler zu fangen? in einer Weise, dass meine App benachrichtigt werden kann?

Hinweis: Dies ist keine Javascript-Frage. Ich programmiere keine Website. Ich greife auf eine bestehende Website zu, deren Implementierung außerhalb meiner Kontrolle liegt. Dies ist eine WebView Frage (derzeit in der Android-Umgebung, könnte aber in anderen Umgebungen sein, die auch WebView hosten können).

+0

** Hinweis: ** Dies ist keine WebView-Frage. Dies ist ein "Wie lese ich Logs?" Frage. – ozbek

+0

Eine schnelle Suche zeigt [this] (http://stackoverflow.com/questions/11461650/read-logs-permission-on-jelly-bean-api-16). Ich fürchte, Sie haben kein Glück dabei. – ozbek

+3

Ich glaube nicht, dass OP die Protokolle lesen will, ich denke, er will den Fehler, der die Protokollnachricht erzeugte, abfangen und selbst verarbeiten. –

Antwort

5

Haben Sie ein Beispiel für eine Website?

Sie sollten für Debugging Web Apps

Beachten Sie, dass nur „Teil 1“ wird angezeigt, wenn Sie bieten eine kommagetrennte Liste von Parametern innerhalb der console.log Funktion WebChromeClient.onConsoleMessage(ConsoleMessage consoleMessage).

0

Ich schlage vor, dieses Beispiel von Google außer Kraft setzen können, hier ist ein Stück JavaScript-Code, testen:

console.log("part1","part2"); 

Das Ergebnis wird:

part1 -- From line 1 of http://example.js10/test.js  
Verwandte Themen