evaluateJavaScript
是 Android 中用于在 WebView 中执行 JavaScript 代码的方法。要在 Android 中使用 evaluateJavaScript
,请按照以下步骤操作:
- 首先,确保您的项目中已经启用了 WebView。在 AndroidManifest.xml 文件中添加以下权限:
- 在布局文件(例如 activity_main.xml)中添加一个 WebView 控件:
- 在 Activity(例如 MainActivity.java)中,初始化 WebView 并启用 JavaScript 支持:
import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends AppCompatActivity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = findViewById(R.id.webview); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient()); } }
- 现在,您可以使用
evaluateJavaScript
方法执行 JavaScript 代码。例如,要在 WebView 中加载一个网址,可以这样做:
webView.evaluateJavaScript("window.location = 'https://www.example.com'", null);
如果您需要从 JavaScript 获取数据并传递给 Android,可以使用 addJavascriptInterface
注册一个本地对象供 JavaScript 调用:
public class MyJavaScriptInterface { private TextView textView; public MyJavaScriptInterface(TextView textView) { this.textView = textView; } @JavascriptInterface public void processData(String data) { textView.setText(data); } }
然后在 onCreate
方法中添加这个对象到 WebView:
TextView textView = findViewById(R.id.textView); webView.addJavascriptInterface(new MyJavaScriptInterface(textView), "HTMLOUT");
最后,您可以在 JavaScript 代码中调用这个方法:
window.HTMLOUT.processData("Hello from JavaScript!");
这样,您就可以在 Android 中使用 evaluateJavaScript
加载和执行 JavaScript 代码了。