evaluateJavaScript
是 Android 中 WebView 类的一个方法,用于在 WebView 中执行 JavaScript 代码
- 首先,确保您的项目中已经添加了 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()); webView.loadUrl("https://example.com"); } }
- 现在,您可以使用
evaluateJavaScript
方法执行 JavaScript 代码。例如,在同一个MainActivity.java
文件中添加以下方法:
private void runJavaScriptCode() { webView.evaluateJavascript("(function() { return 'Hello, World!'; })();", null); }
这个方法将在 WebView 中执行一个立即执行的 JavaScript 函数,并返回 “Hello, World!” 字符串。您可以根据需要修改或扩展此方法以执行其他 JavaScript 代码。
- 如果您想在某个特定事件(例如按钮点击)时运行 JavaScript 代码,可以将其添加到事件监听器中。例如:
Button runButton = findViewById(R.id.runButton); runButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { runJavaScriptCode(); } });
现在,当用户点击 “runButton” 按钮时,runJavaScriptCode
方法将被调用,从而在 WebView 中执行 JavaScript 代码。