Webview正在加载但未显示

时间:2015-05-07 09:29:16

标签: javascript android



<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="300" height="150">
Your browser does not support the HTML5 canvas tag.</canvas>
<script src='https://code.jquery.com/jquery-2.1.3.js'></script>
<script>
$(document).ready(function () {

    var canvas = document.getElementById('myCanvas');
    var context = canvas.getContext('2d');

    function Character1(canvas, progress, duration, delay) {
        console.log("c1 " + progress);

        delay = delay || 1;

        var ctx = canvas.getContext('2d');

        debugger;

        if (progress < duration) {

            canvas.strokeStyle = "black";
            ctx.beginPath();
	    //ctx.moveTo(3, 1);//original forum code 
            //ctx.lineTo(3, 15 * ((progress + 1)/duration));
	    ctx.moveTo(2, 1);
            ctx.lineTo(2 , 20* ((progress + 1) / duration));
           // ctx.moveTo(1, 13);
           // ctx.lineTo(1 , 30* ((progress + 1) / duration));
            ctx.stroke();
            ctx.closePath()

            setTimeout(function () {
                Character1(canvas, progress + 1, duration, delay);
            }, delay);

        } else {
            debugger;
            $(document.body).trigger("Character1Completed");
        }
    }

    function Character2(canvas, progress, duration, delay) {
        console.log("c2");

        delay = delay || 1;

        var ctx = canvas.getContext('2d');

        if (progress < duration) {
            canvas.strokeStyle = "black";
            ctx.beginPath();
            ctx.moveTo(5, 20);//Decrease the 2nd value to move line upwards
            ctx.lineTo(30 * ((progress + 1) / duration), 20);
            ctx.stroke();
            ctx.closePath()

            setTimeout(function () {
                Character2(canvas, progress + 1, duration, delay);
            }, delay);
        }
        else {
            
            $(document.body).trigger("Character2Completed");
        }
    }

    function Character3(canvas, progress, duration, delay) {
        console.log("c3");

        delay = delay || 1;

        var ctx = canvas.getContext('2d');

        if (progress < duration) {

            var x = 23;//Decrease/increase to move the arc right/left side
            var y = 12;//Decrease to move the arc up
            var radius = 10;
            var startAngle = .3 * Math.PI;
            var endAngle = -1.3 * Math.PI;
            var counterClockwise = false;

            ctx.beginPath();
            ctx.arc(x, y, radius, startAngle, endAngle * ((progress + 1) / duration), true);
            ctx.lineWidth = 1;
            ctx.stroke();

            setTimeout(function () {
                Character3(canvas, progress + 1, duration, delay);
            }, delay);
        }
        else {
            $(document.body).trigger("Character3Completed");
        }
    }

    $(document.body).on("Character1Completed", function (e) {
        console.log("Starting Character 2");

        Character2(canvas, 0, 30, 33);
    });

  /*  $(document.body).on("Character2Completed", function (e) {
        console.log("Starting Character 3");

        Character3(canvas, 0, 30, 33);
    });*/

    $(document.body).on("Character3Completed", function (e) {
        console.log("Completed Drawing!");
    });

    // Start Drawing
    Character1(canvas, 0, 30, 33);

});
</script>
</body>
</html>
&#13;
&#13;
&#13;

以上是我的HTML代码。当我试图加载android

            WebView wv;  
            wv = (WebView) findViewById(R.id.mybrowser1);  
            wv.loadUrl("file:///android_asset/www/ta.html");
            wv.getSettings().setJavaScriptEnabled(true);
            wv.setBackgroundColor(Color.TRANSPARENT);

正在加载网址,但不可见。 我不知道以下是否有任何错误:

  

在ResourceHandle :: create newHandle - &gt;阻止失败

在logcat中它是这样给出的。请让我知道我哪里出错了。

尝试直接显示网页而不点击任何按钮时,它不会显示图像。而是显示

  

您的浏览器不支持html5 canvas标记

1 个答案:

答案 0 :(得分:0)

我使用了这个设置和你的html页面,它运行正常。 这是结果: enter image description here

 WebView mWebView = (WebView) findViewById(R.id.webview);
    WebViewClient wvClient = new WebViewClient();
    mWebView.setWebViewClient(wvClient);
    WebSettings webSettings = mWebView.getSettings();
    webSettings.setSaveFormData(false);
    webSettings.setJavaScriptEnabled(true);
    webSettings.setDefaultTextEncodingName("utf-8");
    mWebView.loadUrl("http://192.168.1.42/test");