小编use*_*981的帖子

未捕获的ReferenceError:尝试在Android Webview中访问时未定义函数

我在Android中使用WebView。我正在使用loadDataWithBaseURL来加载以下网址:

(出于安全原因,在这里我使用“ XXXX”替换我的实际网页URL)

wb.loadDataWithBaseURL(“ http://XXXX.html ”,formattedHTML,“ text / html”,“ UTF-8”,null);

formattedHTML的内容包含由我的服务类填充的实际html源代码。

以下是http://XXXX.html的完整源代码:

<html>
    <head>

        <script language="javascript">
            function displayAlert()
            {
                alert("this is in function displayAlert()");
            }
        </script>
    </head>
    <body onload="displayAlert();">dummy
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我有一个按钮。单击它后,我想执行javascript函数“ displayAlert”:wb.loadUrl(“ javascript:displayAlert()”);

我的问题:

  1. 我在logCat视图中遇到此错误消息:Uncaught SyntaxError:http://XXXX.html:1上的意外标识符。

我搜索了很多网页,其中大多数说这是由javascript中的“ {”和“}”不匹配引起的。但是我检查了我的代码,发现我的JavaScript代码格式正确,如您在上面看到的。

  1. 当我单击按钮时,javascript无法执行。错误消息:E / Web控制台(534):未捕获ReferenceError:displayAlert未定义为null:1。

我已经通过以下方式在webview中启用了javascript:

WebSettings webSettings = wb.getSettings();
webSettings.setJavaScriptEnabled(true);
Run Code Online (Sandbox Code Playgroud)

为什么无法定位“ http://XXXX.html ”中实现的javascript函数来执行?

您能帮我吗?非常感谢!

javascript android webview

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

标签 统计

android ×1

javascript ×1

webview ×1