![](/img/trans.png)
[英]how to determine actual backgroundColor and color of text in javascript (firefox extension code)
[英]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.