stringByEvaluatingJavascriptFromString(iOS方法,什么是Android等价?)

rjf*_*man 14 php java android ios

在iOS应用中,我使用过

stringFromJavaScript = [webView stringByEvaluatingJavascriptFromString:@"document.getElementById(\"image\").getAttribute(\"src")"];
Run Code Online (Sandbox Code Playgroud)

获取webView上显示的图像的src目录.我想为Android做同样的事情.我有什么选择?

基本上意图是捕获路径,以便我可以通过电子邮件发送同一张图片......

即.

"picture.php?image=%@",stringFromJavascript
Run Code Online (Sandbox Code Playgroud)

这样,当用户点击链接时,将加载相同的图像,或将其发布到Facebook等.

Łuk*_*mek 36

是的,我在Android中大大地想念这个方法;)

要执行JavaScript并获得响应,您可以执行以下操作:

  1. 在代码中定义JavaScript回调接口:

    class MyJavaScriptInterface {
        @JavascriptInterface
        public void someCallback(String jsResult) {
             // your code...
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将此回调附加到WebView

    MyJavaScriptInterface javaInterface = new MyJavaScriptInterface();
    yourWebView.addJavascriptInterface(javaInterface, "HTMLOUT");
    
    Run Code Online (Sandbox Code Playgroud)
  3. window.HTMLOUT.someCallback从脚本运行JavaScript调用:

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

希望这可以帮助!

  • 嗨,我收到 Uncaught TypeError,请检查错误。 [INFO:CONSOLE(1)] “Uncaught TypeError: Cannot call method 'someCallback' of undefined”,来源:(1) (2认同)