15

iOSアプリで、私は使用しました

stringFromJavaScript = [webView stringByEvaluatingJavascriptFromString:@"document.getElementById(\"image\").getAttribute(\"src")"];

webView に表示されていた画像の src ディレクトリを取得します。Androidでも同じことをしたいです。私のオプションは何ですか?

基本的には、この同じ写真を電子メールで送信できるようにパスをキャプチャすることを目的としています...

すなわち。

"picture.php?image=%@",stringFromJavascript

このようにして、ユーザーがリンクをクリックしたり、Facebook などに投稿したりすると、同じ画像が読み込まれます。

4

1 に答える 1

38

ええ、私はAndroidでこの方法を大いに見逃しています;)

JavaScriptを実行して応答を取得するには、次のようにします。

  1. コードでJavaScriptコールバックインターフェースを定義します。

    class MyJavaScriptInterface {
        @JavascriptInterface
        public void someCallback(String jsResult) {
             // your code...
        }
    }
    
  2. このコールバックをWebViewに添付します

    MyJavaScriptInterface javaInterface = new MyJavaScriptInterface();
    yourWebView.addJavascriptInterface(javaInterface, "HTMLOUT");
    
  3. window.HTMLOUT.someCallbackスクリプトからJavaScript呼び出しを実行します。

    yourWebView.loadUrl("javascript:( function () { var resultSrc = document.getElementById(\"image\").getAttribute(\"src\"); window.HTMLOUT.someCallback(resultSrc); } ) ()");
    

お役に立てれば!

于 2012-04-27T11:08:45.173 に答える