evaluateJavaScript
是 Android 中用于在 WebView 中执行 JavaScript 代码的方法。要在 Android 中使用 evaluateJavaScript
,请按照以下步骤操作:
<uses-permission android:name="android.permission.INTERNET" />
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
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 代码了。