当 URL 来自互联网服务器时,如何将自定义 CSS 应用到 Android Webview?

2023-11-29

我正在我的 Android 应用程序上显示我的 WordPress 博客文章。

Giving wordpress url inside webview

@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 能够工作是很棘手的。最可靠的方法是安装JavaScript 接口onload事件在您的 HTML 中触发。在第一次调用之前,您希望在 Java 中拥有类似的东西WebView.loadUrl:

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();">

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 URL 来自互联网服务器时,如何将自定义 CSS 应用到 Android Webview? 的相关文章

随机推荐