0

Webビューで開いているページに応じて、アプリケーションが特定の機能を実行する方法はありますか?たとえば、JavaScriptを検出しますか?

4

1 に答える 1

1

Androidドキュメントのこの部分が役立つ可能性があります:http://developer.android.com/guide/webapps/webview.html#UsingJavaScript

loadUrl()を使用して、WebViewでjavascriptを呼び出すことができます。例えば:

webView.loadUrl("javascript: someJavascriptMethod(true, 1, 8, 'some string');");

このページでは、Javascriptインターフェイスを使用してデータをJavaコードに戻すこともできます。パブリックメソッドを使用してパブリッククラスを作成します。次に、そのクラスのインスタンスを作成し、webView.addJavascriptInterface()を使用してインストールします。

例えば

 public class JsObject {
    @JavascriptInterface
    public String toString(String value) { // This method can be called from Javascript }
 }
 webView.addJavascriptInterface(new JsObject(), "injectedObject");
 webView.loadData("", "text/html", null);
 webView.loadUrl("javascript:alert(injectedObject.aJavaMethod('some value'))");

特定のjavascriptメソッドが使用可能かどうかを確認する必要がある場合、またはDOMから読み取る必要がある場合は、loadUrlを使用して、それらのルックアップを実行できるjavascriptを呼び出すことができます。次に、javascriptインターフェースを使用して、ある種の応答でJavaメソッドを呼び出すことができます。

于 2013-02-04T00:29:12.143 に答える