evaluateJavaScript
是 Android 中 WebView 类的一个方法,用于在 WebView 中执行 JavaScript 代码
AndroidManifest.xml
文件中添加以下权限:<uses-permission android:name="android.permission.INTERNET" />
activity_main.xml
)中添加一个 WebView 控件:<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
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());
webView.loadUrl("https://example.com");
}
}
evaluateJavaScript
方法执行 JavaScript 代码。例如,在同一个 MainActivity.java
文件中添加以下方法:private void runJavaScriptCode() {
webView.evaluateJavascript("(function() { return 'Hello, World!'; })();", null);
}
这个方法将在 WebView 中执行一个立即执行的 JavaScript 函数,并返回 “Hello, World!” 字符串。您可以根据需要修改或扩展此方法以执行其他 JavaScript 代码。
Button runButton = findViewById(R.id.runButton);
runButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
runJavaScriptCode();
}
});
现在,当用户点击 “runButton” 按钮时,runJavaScriptCode
方法将被调用,从而在 WebView 中执行 JavaScript 代码。