Android-Webview nachdem aufJSAlert nicht reagiert taps

8

Ich habe das onJsAlert-Verhalten meines WebChromeClients überschrieben:

%Vor%

Meine Anwendung hat die Js-Warnungen erfolgreich verarbeitet und die ursprüngliche Warnung unterdrückt. Nach dem Alerting-Ereignis kann ich jedoch nicht länger auf meine Schaltflächen (in Listenelementen von Listenansicht) auf der Webseite in meiner Webansicht klicken. Ich verwende derzeit jQuery Mobile, um mein Web zu erstellen.

Gibt es noch etwas, das ich beachten sollte?

    
Abby Chau Yu Hoi 09.04.2013, 03:12
quelle

3 Antworten

16

Ich habe gerade das genau gleiche Problem gesehen. Ich wollte ein benutzerdefiniertes Android-Dialogfeld anstelle des Alerts erstellen, um die endgültige Lösung zu finden:

%Vor%

Der Schlüssel ist die result.cancel(); und return true; , die ich in verschiedenen Kombinationen getestet habe, und die einzige, die nicht die Standard-JS-Warnung ausgelöst UND das Berührungsproblem nicht verursacht hat, war diese Kombination

    
RMalke 26.04.2013, 14:32
quelle
2

Ich war auch mit dem ähnlichen Problem konfrontiert (aber mit onJsPrompt in meinem Fall) und die vorgeschlagene Lösung funktionierte nicht für mich. Ich hatte bereits die Aufrufe von result.cancel()/result.confirm() und return true vom Handler. Der Schlüssel für das Update wurde im Quellcode von JsDialogHelper .

Dies war die Zeile, die ich entdeckte, um mein Problem zu lösen:

%Vor%

Der vollständige Handler-Code:

%Vor%

wobei CancelListener als einfache Stub-Klasse definiert werden kann:

%Vor%

Ich bin mir nicht sicher, ob dies ein Fehler in WebView ist, oder ist erforderlich , um immer einen abbrechenden Listener zu definieren, damit die Dialoge des Webview ordnungsgemäß funktionieren.

    
Stan 08.02.2016 18:06
quelle
1

Sie sollten die result.confirm () Methode aufrufen, meine Lösung ist:

%Vor%     
yangzx 06.05.2015 09:04
quelle

Tags und Links