4
다음 코드는 다음과 같습니다. onPageFinished (WebView보기, String url) 내 사이트를 외부 사이트에 삽입하는 데 사용하고 있습니다. 불행하게도 Webview에서는 페이지를 먼저 렌더링 한 다음 CSS를 적용합니다. 페이지를 렌더링하기 전에 기다렸다가 자바 스크립트를 표시하기 전에 적용 할 수 있습니까?CSS를 WebView에 영구 보관하는 방법
WebClient HTTP를 사용하면 더 쉬운 방법이 있습니까? CSS를 로컬로 가져 와서 웹 사이트로 리디렉션 하시겠습니까?
미리 제안 해 주셔서 감사합니다.
com.webkitdemo;
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebKitDemo extends Activity
{
final Activity activity = this;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.main);
//addition final webview
final WebView webView = (WebView)findViewById(R.id.web_engine);
/* JavaScript must be enabled if you want it to work, obviously */
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress)
{
activity.setTitle(" Loading...");
activity.setProgress(progress * 100);
if(progress == 100)
activity.setTitle(R.string.app_name);
}
});
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
// Handle the error
}
//additions
@Override
public void onPageFinished(WebView view, String url)
{
webView.loadUrl("javascript:(function() { " +
"document.getElementsByTagName('body')[0].style.color = 'green'; " +
"})()");
}
//
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
webView.loadUrl(url);
return true;
}
});
webView.loadUrl("http://code.google.com");
}}