怎么把 如下javascript代码注入到webView中 <button onclick="showToast('Hello, Android!')">Show Toast</button> <script> function showToast(message) { Android.showToast(message); } </script>
时间: 2024-03-02 10:48:56 浏览: 140
您可以使用 WebView 的 `loadDataWithBaseURL` 方法来注入 JavaScript 代码。以下是一个示例代码,演示了如何将您提供的 JavaScript 代码注入到 WebView 中:
```java
String html = "<html><body>"
+ "<button onclick=\"showToast('Hello, Android!')\">Show Toast</button>"
+ "<script>"
+ "function showToast(message) {"
+ " Android.showToast(message);"
+ "}"
+ "</script>"
+ "</body></html>";
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
webView.loadDataWithBaseURL(null, html, "text/html", "utf-8", null);
```
在这个代码中,我们首先定义了一个字符串 `html`,其中包含您提供的 HTML 和 JavaScript 代码。然后,我们启用了 WebView 的 JavaScript 功能,并将 JavaScript 接口对象注册到 WebView 中。最后,我们使用 `loadDataWithBaseURL` 方法将 HTML 和 JavaScript 代码注入到 WebView 中。
需要注意的是,当您使用 `loadDataWithBaseURL` 方法注入 HTML 代码时,需要注意 HTML 代码中所有的相对路径都将相对于 `baseUrl` 参数所指定的 URL。在这个示例中,我们将 `baseUrl` 参数设置为 `null`,这意味着所有的相对路径都将相对于当前页面的 URL。如果您的 HTML 代码中包含任何相对路径,需要根据实际情况设置 `baseUrl` 参数。
阅读全文