同时使用WebChromeClient和WebViewClient

时间:2015-04-26 19:03:57

标签: php android webview

好的,我会再次提出更多详情。 (请不要回复链接,因为我可能访问过所有相关网站但不适用于我。)

我需要在WebView中实现3件事:

  1. 禁用缩放
  2. 隐藏网址
  3. 从移动设备上传文件
  4. 我有一个指向phpbb的网址,用户可以在其中上传头像。

    现在我能做的就是:

    1. 禁用缩放
      • 适用于WebViewClient
    2. 隐藏网址
      • 适用于WebViewClient
    3. 从移动设备上传文件
      • 适用于WebChromeClient
    4. 我可以使用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')");
              }
      }
      

      请看下面的截图,当我点击选择文件时没有任何反应:

      Choose File

0 个答案:

没有答案