Webビューで開いているページに応じて、アプリケーションが特定の機能を実行する方法はありますか?たとえば、JavaScriptを検出しますか?
質問する
200 次
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 に答える