小编age*_*tom的帖子

Android自定义WebView无法找到加载的HTML中定义的javascript函数

我有一个Android WebView.我将HTML传递给它(作为一个字符串).这个HTML包含一些基本的JavaScript.

加载时,HTML会尝试调用javascript函数(在中定义<head></head>).这在我的浏览器桌面上工作正常,所以我确定HTML/Javascript本身很好,但是当我将相同的HTML加载到我的WebView中时它无法工作.

以下是我实例化WebView的方法:

WebView view = new WebView(context);
WebSettings settings = view.getSettings();
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(false);
view.setWebChromeClient(new CustomWebChromeClient());
view.setWebViewClient(new CustomWebViewClient());
view.loadData(ARBITRARY_HTML, "text/html", "utf-8");
Run Code Online (Sandbox Code Playgroud)

加载的HTML是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>My head hurts from head-desking</title>
    <style type="text/css">
    #content
    {
        display: none;
    }
    </style>
    <script type="text/javascript">
    //<!--
    function ShowContent()
    {
        document.getElementById('content').style.display = 'block';
    }
    //-->
    </script>
</head>
<body onload="ShowContent()">
    <div id="content">
    This content should be shown, but isn't!
    </div>
    <div id="other">
    All I see is …
Run Code Online (Sandbox Code Playgroud)

html javascript java android android-webview

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

标签 统计

android ×1

android-webview ×1

html ×1

java ×1

javascript ×1