簡體   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