Wie kann man eine JavaScript-Funktion direkt von einer Aktivität in Android aufrufen?

8

Ich wollte wissen, ob es irgendeinen Weg gibt, eine JavaScript-Funktion von nativen Android Activity aus aufzurufen.

Ich bin gestolpert:

%Vor%

Aber es hat nicht für mich funktioniert.

Wie weiß Android außerdem, in welcher HTML-Seite sich diese JavaScript-Funktion befindet?

    
Smitha 28.12.2011, 10:02
quelle

3 Antworten

13

Android kann die javascript-Methode nur aufrufen, wenn eine HTML-Seite gerade in webView geladen ist

%Vor%

ruft die Hello-Methode, die in der HTML-Seite geschrieben wurde, nur dann auf, wenn die Seite, die diese Methode enthält, gerade im webview-Steuerelement geladen ist

erster Anruf

%Vor%

rufen Sie dann

auf %Vor%     
Talha 28.12.2011, 10:21
quelle
10

Falls jemand irgendwelche Probleme damit hat, wie ich es tat, müssen Sie Ihre JavaScript-Funktion aufrufen, nachdem die Seite fertig geladen wurde, sonst wird das Javascript nicht aufgerufen:

%Vor%     
tim.paetz 24.04.2013 16:05
quelle
3

Bevor Sie JavaScript verwenden, müssen Sie zuerst mit Hilfe von "getJavaScriptEnabled ()" prüfen, ob Javascript in Ihrer Anwendung aktiviert ist oder nicht (standardmäßig FALSE). Und loadUrl () -Methode nur zum Laden der aktuellen Seite verwendet. Es hat nichts mit JavaScript zu tun.

BEISPIEL:

Einrichten von WebView

// Initialisierung von Webview

%Vor%

HTML in WebView laden

%Vor%

Setzen von WebChromeClient auf webView

%Vor%

Die MyJavaScriptChromeClient-Klasse Hier müssen wir die onJsAlert () -Methode überschreiben, um die JavaScript-Alert-Funktion zu handhaben.

%Vor%

Meine HTML-Datei: testhtml.html:

%Vor%

Wie es funktioniert? Wenn der Text "Klick mich !!" Auf der WebView wird geklickt. Die android-Funktion onJsAlert (WebView-Ansicht, String-URL, String-Nachricht, endgültiges JsResult-Ergebnis) wird aufgerufen. Der zu alarmierende Parameter wird in den Nachrichtenparameter der onJsAlert-Funktion kopiert. Und der Rest der Handhabung ist dort erledigt. Hier zeigen wir einen AlertDialog.

    
Akilan 28.12.2011 10:30
quelle

Tags und Links