在Android的web视图,我能够修改网页的DOM?视图、网页、Android、web

2023-09-12 21:33:49 作者:每个女孩都有一个公主梦、

假设我经过的WebView加载第三方URL。

Suppose I load a 3rd party URL through webview.

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        webview = (WebView) findViewById(R.id.webview);
        webview.setWebViewClient(new HelloWebViewClient());
        webview.getSettings().setJavaScriptEnabled(true);
        webview.setWebChromeClient(new MyWebChromeClient());
        webview.loadUrl("http://ebay.com");         
    }

是否有可能对我来说,的东西注入到这个web视图,以我自己的替代eBay的标志?

Is it possible for me to inject something into this WebView to replace the ebay logo with my own?

推荐答案

要扩大CommonsWare的正确答案:

To expand on CommonsWare's correct answer:

WebView webview = new WebView();
webview.setWebViewClient(new WebClient());
webView.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("stackoverflow.com");

然后在Web客户端:

then in WebClient:

public class WebClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onPageFinished(WebView view, String url) 
    {       
        // Obvious next step is: document.forms[0].submit()
        view.loadUrl("javascript:document.forms[0].q.value='[android]'");       
    }
}

在简单地说,你等待页面加载。然后你使用loadURL(JavaScript的:在这里你的javascript])。

In a nutshell, you wait for the page to load. Then you loadUrl("javascript:[your javascript here]").

 
精彩推荐
图片推荐