繁体   English   中英

在Android WebView中使用JavaScript

[英]Use javascript in an android webview

我正在使用从项目中的本地HTML读取的Web视图。 如果已完成加载html文件,则在HTML上使用一些javascript。 这是我的设置:

        final WebView webview = (WebView)rootView.findViewById(R.id.webView);
        webview.getSettings().setJavaScriptEnabled(true);
        final String letter = "hello";

        webview.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url)
            {
                webview.loadUrl("javascript:(function() { " +
                        "var text = 'HELLO';"+
                        "document.body.innerHTML = document.body.innerHTML.replace(/"+letter+"/g, '<font color=\"#FF0000\">text</font>');"+
                        "})()");
            }
        });

        webview.loadUrl("file:///android_asset/2.html");

基本上,现在要做的就是将单词hello更改为红色单词文本。 但是我想要它做的就是按照我在javascript中声明的那样将单词更改为HELLO。 所以我的问题是如何以这种方式将变量合并到javascript代码中。 顺便说一句,我知道我可以在我声明字符串字母的地方以外修改delcare var文本。 但这只是我尝试做的一个小例子。

如果有人可以解释如何在webview.LoadUrl(下面的JavaScript代码中使用forloops),我将不胜感激。

var color = "#FF0000";
var text = "fem";
for (i = 0; i < 5; i++) {
    text += "The number is " + i + "<br>";
}
   document.body.innerHTML = document.body.innerHTML.replace(/with/g,     '<font color="'+color+'">'+text+'</font>');

我如何将其放在webview.loadURL中。 请不要犹豫,询问是否不清楚。

您声明了文本,但没有使用它。

webview.loadUrl("javascript:(function() { " +
                    "var text = 'HELLO';"+
                    "document.body.innerHTML = document.body.innerHTML.replace(/"+letter+"/g, '<font color=\"#FF0000\">'+text+'</font>');"+
                    "})()");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM