2016-05-17 61 views
1

我需要在加载到我的webview的网站上注入css。Android Webview通过Javascript注入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);  
    } 

回答

0

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

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); 
     } 
}