stringByEvaluatingJavascriptFromString (iOS method, what is Android equivalent?)

后端 未结 1 1467
没有蜡笔的小新
没有蜡笔的小新 2020-12-03 01:38

In an iOS app, I used

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


        
相关标签:
1条回答
  • 2020-12-03 02:42

    Yeah, I miss this method greatly in Android ;)

    To execute JavaScript and get response you can do as follows:

    1. Define JavaScript callback interface in your code:

      class MyJavaScriptInterface {
          @JavascriptInterface
          public void someCallback(String jsResult) {
               // your code...
          }
      }
      
    2. Attach this callback to your WebView

      MyJavaScriptInterface javaInterface = new MyJavaScriptInterface();
      yourWebView.addJavascriptInterface(javaInterface, "HTMLOUT");
      
    3. Run your JavaScript calling window.HTMLOUT.someCallback from the script:

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

    Hope this helps!

    0 讨论(0)
提交回复
热议问题