![](/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.