私は webview を持っており、サイトから外部 HTML フォームをロードしています。JavaScript関数を使用して背景色を変更しようとしています:
function changeBGC(color){
document.bgColor = color;
}
そしてそれはうまくいきません。しかし、ローカルにロードすると、背景色を変更できます。ロードした Web ページを外部から webview に変更できないようにする何らかのセキュリティがありますか?
私は webview を持っており、サイトから外部 HTML フォームをロードしています。JavaScript関数を使用して背景色を変更しようとしています:
function changeBGC(color){
document.bgColor = color;
}
そしてそれはうまくいきません。しかし、ローカルにロードすると、背景色を変更できます。ロードした Web ページを外部から webview に変更できないようにする何らかのセキュリティがありますか?
WebViewClient を使用して JavaScript を実行できます。
ドキュメントの背景色を変更する JavaScript コード。
すべてをまとめると、次のようになります。
WebView を開始する場合:
WebView webview = new WebView();
webview.setWebViewClient(new WebClient());
webView.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("stackoverflow.com");
Web ビュー クライアント:
public class WebClient extends WebViewClient {
int color;
public WebClient(int color) {
this.color = color;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url)
{
String command = "javascript:document.body.style.background = " + color + ";";
view.loadUrl(command);
}
}