好的,我会再次提出更多详情。 (请不要回复链接,因为我可能访问过所有相关网站但不适用于我。)
我需要在WebView中实现3件事:
我有一个指向phpbb的网址,用户可以在其中上传头像。
现在我能做的就是:
我可以使用WebViewClient实现1和2。 我可以使用WebChromeClient实现3。
我可以同时使用WebViewClient和WebChromeClient,其中WebChromeClient仅用于处理文件上传吗? (上传按钮来自phpbb网站)
编辑(已添加代码)
wv = (WebView) findViewById(R.id.webViewForum);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl(websiteForum);
wv.getSettings().setSupportZoom(false);
wv.getSettings().setBuiltInZoomControls(false);
wv.setWebViewClient(new MyWebViewClient());
wv.setWebChromeClient(new MyWebChromeClient());
}
public class MyWebChromeClient extends WebChromeClient {
//Handle javascript alerts:
@Override
public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result)
{
Log.d("alert", message);
Toast.makeText(getBaseContext(), message, 3000).show();
result.confirm();
return true;
}
};
public class MyWebViewClient extends WebViewClient {
@Override
//Run script on every page, similar to Greasemonkey:
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:alert('hi')");
}
}
请看下面的截图,当我点击选择文件时没有任何反应: