Android Webview通过Javascript注入CSS

Android Webview inject CSS via Javascript

本文关键字:注入 CSS Javascript 通过 Webview Android      更新时间:2023-09-26

我需要在我的webview上加载的网站中注入css。

网页是在线的,而不是本地的。

这是我尝试过的最新代码。

当我尝试运行时,一切都保持不变,我测试了css,它做了我想要的。

private void carregaCSS() {
        String extraStyles;     
        extraStyles= "javascript: myfunction(){";
        extraStyles += " document.querySelectorAll('div.live-search-container')[0].style.display = 'none';";
        extraStyles += " document.querySelectorAll('div#top-bar')[0].style.display = 'none';";
        extraStyles += " document.querySelectorAll('span#btn-mobile-toggle')[0].style.display = 'none';";
        extraStyles += " document.querySelectorAll('div#cart')[0].style.display = 'none';";
        extraStyles += " document.querySelectorAll('div.col-md-7')[0].style.display = 'none';";
        extraStyles += " }";
        Log.d("extraextraStyles",extraStyles.toString());
        mWebView.loadUrl(extraStyles);      
    }

我设法使它工作,我只需要在创建它后调用它。

private void carregaCSS() {
        final String extraStyles;       
        extraStyles= "javascript: "
        + "function css(){ "
            + " document.querySelectorAll('div.live-search-container')[0].style.display = 'none';"
            + " document.querySelectorAll('div#top-bar')[0].style.display = 'none';"
            + " document.querySelectorAll('span#btn-mobile-toggle')[0].style.display = 'none';"
            + " document.querySelectorAll('div#cart')[0].style.display = 'none';"
            + " document.querySelectorAll('div.col-md-7')[0].style.display = 'none';"
            + " document.querySelectorAll('div.breadcrumb')[0].style.display = 'none';"
        + "}" 
        +"css();"
        +"";
        mWebView.loadUrl(extraStyles);
        }
}