我正在我的 Android 应用程序上显示我的 wordpress 博客文章。
在 webview 中提供 wordpress url
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
// Force links and redirects to open in the WebView instead of in a browser
mWebView.setWebViewClient(new WebViewClient());
mWebView.loadUrl("http://www.myblog.com/start/");
}
但我想删除页脚 block ,因为我只想添加
.footer{
diplay:none
}
如何添加此自定义 CSS 代码?
最佳答案
加载页面后,运行一些 JavaScript,例如:
mWebView.loadUrl("javascript:document.getElementsByClassName('footer')[0].style.display = 'none';");
应该这样做。在 Android 4.4 上,您可以使用 WebView.evaluateJavaScript API .
检测页面何时加载以使此 JavaScript 起作用是很棘手的。最可靠的方法是安装 JavaScript Interface当 onload
事件在您的 HTML 中触发时回调到 Java。在第一次调用 WebView.loadUrl
之前,您希望在 Java 中有这样的东西:
mWebView.addJavascriptInterface(new Object() {
@JavascriptInterface
public void onload() {
// This is executed on a background thread, so post back to UI thread.
mWebView.post(new Runnable() {
@Override
public void run() {
mWebView.loadUrl("javascript:...");
}
});
}
}, "android");
然后在您的 HTML 中:
<body onload="window.android.ready();">
希望这对您有所帮助。
关于android - 当 URL 来自 Internet 服务器时,如何将自定义 css 应用于 android Webview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22124770/