【问题标题】:My JavaScript is not changing color or dimensions as I expected我的 JavaScript 没有像我预期的那样改变颜色或尺寸
【发布时间】:2011-04-09 10:21:11
【问题描述】:

我正在尝试在 Android 网络视图中使用 JavaScript。我使用了以下代码。我没有改变颜色或偏移身体高度。

        webview.getSettings().setJavaScriptEnabled(true);
        webview.addJavascriptInterface(new myJavaScriptInterface(webview), "jsInterface");

        webview.loadUrl("file:///android_asset/sample/contents.html");
        //webview.loadData("file:///android_asset/sample",convertStreamToString(inputStream), "text/html", "UTF-8");

    webview.loadUrl("javascript:" +  
                "document.getElementsByTagName('p')[0].style.color='red';" +  
                 "");

        wbview.loadUrl("javascript:window.jsInterface.EchoText(document.body.offsetHeight);");

        //webview.
}
class myJavaScriptInterface 
{
    WebView mywebview;
    public myJavaScriptInterface(WebView webview) 
    {
        this.mywebview=webview;
    }
    public void EchoText(String message) 
    {
        Toast.makeText(mywebview.getContext(), message, Toast.LENGTH_SHORT).show();
    }
}

我错过了什么?

【问题讨论】:

    标签: javascript android


    【解决方案1】:

    我认为这是因为当您使用 webview.loadUrl("javascript:" + ...) 语句时,您的页面没有加载(仍在加载)。

    试试下面...

    webview.loadUrl("file:///android_asset/sample/contents.html");
    webview.setWebViewClient(new WebViewClient() {
        public void onPageFinished(WebView webview, String url) {
            webview.loadUrl("javascript:" +  
                "document.getElementsByTagName('p')[0].style.color='red';");
            wbview.loadUrl("javascript:" + 
                "window.jsInterface.EchoText(document.body.offsetHeight);");
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 2014-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-19
      • 2013-04-11
      • 1970-01-01
      • 2021-02-08
      相关资源
      最近更新 更多