私はHTMLにCSSファイルを挿入した後で、私のwebviewを表示しようとしています。 私はonPageCommitVisible関数に入れようとしましたが、上の23個のapisとddのみで動作します。誰かが、CSSがロードされた後に初めてwebviewを表示するにはどうすればよいでしょうか?今度は "ジャンプ"し、新しいCSSが置き換えられる前に、元のCSSが最初の1秒間表示されます。あなたが関数内で見ることができるようAndroid:CSS注入が完了したことを知るにはどうすればいいですか?
private void injectCSS(WebView webView) {
try {
webView.loadUrl("javascript:(function() {" +
"var css = document.createElement(\"style\");\n" +
"css.type = \"text/css\";\n" +
"css.innerHTML = \"" + readFileAsString() + "\";\n" +
"document.body.appendChild(css);" +
"})()");
} catch (Exception e) {
e.printStackTrace();
}
}
この機能は、HTMLにCSSのコードを挿入:
@Override
public void onPageFinished(WebView view, String url) {
Utils.logDebug(this, "Page finished");
if (android.os.Build.VERSION.SDK_INT < 23) {
injectCSS(view);
}
super.onPageFinished(view, url);
showWebView(true);
onPageChange();
}
は、これは私のInjestCSS機能です。
あなた 'injectCSS'がやって何? – j2ko
@ j2koただ質問を更新しました。 –