In meiner Anwendung, die ich verwende, WebView
und in der ich die JavaScript alert( )
Methode verwende, aber sie funktioniert nicht, wird kein Popup angezeigt.
in meiner Manifestdatei habe ich hinzugefügt
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
und in Aktivitätsdatei habe ich hinzugefügt
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("file:///android_asset/demo.html");
In Layout-XML-Datei habe ich hinzugefügt
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
Irgendwelche Hinweise, wie man Full- JavaScript
In aktiviert WebView
?
Aktualisieren
Danke mark
die alert()
Methode in der html
Datei funktioniert jetzt :).
Jetzt gibt es zwei Probleme in WebView
:
1: Ich verwende eine <textarea>
in der HTML-Datei, in die ich lade WebView
, und versuche, in Hindi-Sprache zu schreiben, aber wenn ich versuche, Hindi-Text zu schreiben, wird er als Symbole angezeigt (Rechtecksymbole wie []).
Wenn ich das gleiche im Firefox-Browser auf dem Desktop mache, funktioniert es gut. Gibt es einen Hinweis, wie man Unterstützung für mehrere Sprachen in textarea
in gibt WebView
?
2: Wenn ich auf "Senden" klicke und versuche, den Wert von Text in der alert()
Methode in einem anderen Java-Skript zu öffnen , funktioniert dies nicht. Bedeutet dies, dass es WebChromeClient
nur für die aktuell geladene HTML-Seite gilt und nicht javascripts
von dieser Seite aufgerufen wird?
quelle
Antworten:
Überprüfen Sie diesen Link und den letzten Kommentar, den Sie
WebChromeClient
für Ihren Zweck verwenden müssen.quelle
webview.getSettings().setJavaScriptEnabled(true);
Wie bereits erwähnt, muss der WebChromeClient festgelegt werden, damit
alert()
die Arbeit beginnen kann. Es reicht aus, nur den Standard-WebChromeClient () festzulegen:Vielen Dank für alle Kommentare unten. Einschließlich John Smiths, der angab, dass Sie JavaScript aktivieren müssen.
quelle
mWebView.getSettings().setJavaScriptEnabled(true);
vor der Zeile hinzugefügt habemWebView.setWebChromeClient(new WebChromeClient());
webview.getSettings().setJavaScriptEnabled(true);
quelle
prompt
aus Javascript anrufe, wird anstelle des Aufforderungstextes "Die Seite unter https: // ... sagt:" angezeigt, wodurch das Eintauchen des in die App eingebetteten WebView vollständig unterbrochen wirdDer folgende Code funktioniert:
quelle
Sie können es versuchen, es hat bei mir funktioniert
quelle