小编bti*_*tin的帖子

从 Android 调用 JavaScript

我无法从 Android 内部调用基本的 JavaScript 函数。当我从本教程克隆存储库,然后将其剥离时,我能够使代码正常运行。但是,在尝试创建自己的新项目时,我没有成功。

我参考了以下帖子,似乎也在做同样的事情,但无济于事。这些方法之间没有明显的不同,所以我觉得这些文件之外可能存在我遗漏的依赖项?

Android 在 WebView 中调用 JavaScript 函数

在 Webview 中运行 javascript 代码

我想知道我是否在某处遗漏了一些微妙的东西。

基本上,我只是想通过调用在其自己的文件中定义的 JavaScript 函数来获取任何输出到控制台。项目结构如下:

main
- assets
  - index.html
  - sketch.js

- java
  - com.mypackage
    - MainActivity.java
Run Code Online (Sandbox Code Playgroud)

我有一个sketch.js包含以下功能的文件

function hello() {
    console.log("hello world");
}
Run Code Online (Sandbox Code Playgroud)

和一个index.html包含以下代码的文件

<!DOCTYPE html>
<html>
  <head>
    <script src="sketch.js" type="text/javascript"></script>

  </head>
  <body>
  <canvas></canvas>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后从我的活动类中,我有以下 Java 代码

webView = (WebView) findViewById(R.id.webView);
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setJavaScriptEnabled(true);

webView.loadUrl("file:///android_asset/index.html");

webView.evaluateJavascript("javascript:hello();", null);
webView.evaluateJavascript("console.log('Hello world 2');", null);
Run Code Online (Sandbox Code Playgroud)

在 Android Studio …

javascript android android-webview

5
推荐指数
1
解决办法
3621
查看次数

标签 统计

android ×1

android-webview ×1

javascript ×1