关于ZAKER 融媒体解决方案 合作 加入

当 URL 来自互联网服务器时 , 如何将自定义 css.

CocoaChina 10-22

我在我的Android应用程序上显示我的 wordpress 博客帖子 .

在 webview 中提供 wordpress 网址

@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/" ) ; }

但我想删除页脚块 , 因为我只想添加

.footer{diplay:none}

如何添加此自定义 css 代码?

最佳答案

加载页面时 , 运行一些 JavaScript, 例如:

mWebView.loadUrl ( "javascript:document.getElementsByClassName ( 'footer' ) [ 0 ] .style.display = 'none';" ) ;

应该这样做 . 在 Android 4.4 上 , 您可以使用WebView.evaluateJavaScript API.

检测何时加载页面以使此 JavaScript 工作是棘手的 . 最可靠的方法是在 HTML 中触发 onload 事件时安装一个回调 Java 的JavaScript Interface. 在第一次调用 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 ( ) ;">

希望这可以帮助 .

以上内容由"CocoaChina"上传发布 查看原文

觉得文章不错,微信扫描分享好友

扫码分享