繁体   English   中英

Webview JavaScript fontSize,color,backgroundColor不起作用

[英]Webview JavaScript fontSize,color,backgroundColor is not work

我正在将html webside从url加载到webview。。。我有Seekbar。在更改时,它应该增加或减少。它是fontSize ...但是我无法成功...而且,textColor和背景色也无法使用...此外,可以更改正文文本...

我做了什么

无效的代码

loadUrl("javascript:(document.body.style.backgroundColor ='red');"); 
loadUrl("javascript:(document.body.style.fontSize='20pt');");
loadUrl("javascript:(document.body.style.color ='yellow');");

起作用的代码

loadUrl("javascript:(document.body.innerHTML ='test');");

上面的代码在seekbar更改后更改了整个webview。

所以,我知道加载Internet url到webview加载javascript是可行的,但是样式效果却不行。我当时以为加载url的子元素会覆盖父元素,所以这样做

loadUrl("javascript:(var elements = document.getElementsByTagName(\"*\");" +
                        "for (var i=0; i < elements.length; i++) \n" +
                        "{    \n" +
                        "    elements[i].style.fontSize ='30rem';\n" +
                        "}" +
                        ");");  

那还行不通

可能是什么问题?

更新资料

@tiny阳光说在桌面chrome上测试后,我在想,子元素覆盖了问题

var elements = document.getElementsByTagName("*")
                        for (var i=0; i < elements.length; i++) 
                        {    
                            elements[i].style.fontSize ='20pt'
                        }

在桌面chrome上工作。 但在android中,它具有字符串文字的不同语法原因,因此无法正常工作。

   webview.loadUrl("javascript:(var elements = document.getElementsByTagName(\"*\")\n" +
                        "                        for (var i=0; i < elements.length; i++) \n" +
                        "                        {    \n" +
                        "                            elements[i].style.fontSize ='20pt'\n" +
                        "                        });");

我通过一个技巧来实现。

易于缩放,您可以尝试对其进行改进。

            String b = "javascript:alert(document.getElementsByTagName(\"*\")["+0+"].style.backgroundColor=\"yellow\");";
            StringBuilder sb = new StringBuilder(b);
            for(int i = 0;i<100;i++){
                sb.append("alert(document.getElementsByTagName(\"*\")["+i+"].style.backgroundColor=\"yellow\");");
            }
            a.loadUrl(sb.toString());

暂无
暂无

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

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