android - 当 URL 来自 Internet 服务器时,如何将自定义 css 应用于 android Webview?

标签 android html css wordpress webview

我正在我的 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 Interfaceonload 事件在您的 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/

相关文章:

android - 更好的做法 : reusing RecyclerViewAdapter or separate instance for each?

php - 用于请求/跟踪功能或错误的 Azure DevOps 自定义页面

html - CSS:将元素添加到 float 中间

javascript - JQuery scrollTop - 跨浏览器兼容性问题

javascript - 是否可以使用 webview 注入(inject)我的 javascript 以在任何网页内禁用 javascript?

android - 我可以在 Android 平板上运行 Wine 吗?

android - 根据数据库中的日期在android中设置计时器

javascript - 使用 CSS 悬停类将鼠标悬停在链接上并在页面的其他位置显示叠加图像

javascript - 通过Mysql打印内容的打印命令

css - 垂直展开包含 iFrame 的 DIV