7

私は webview を持っており、サイトから外部 HTML フォームをロードしています。JavaScript関数を使用して背景色を変更しようとしています:

    function changeBGC(color){
document.bgColor = color;
}

そしてそれはうまくいきません。しかし、ローカルにロードすると、背景色を変更できます。ロードした Web ページを外部から webview に変更できないようにする何らかのセキュリティがありますか?

4

1 に答える 1

8

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);       
    }
}
于 2013-09-01T05:12:12.907 に答える