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?
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
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:
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.
Tags und Links android jquery-mobile