【问题标题】:WebView URL Filtering AndroidWebView URL过滤Android
【发布时间】:2012-03-19 00:42:54
【问题描述】:

我有什么:我有一个 WebView。我正在其中加载一个 HTML 文件。该 HTML 中有一个按钮。

我想要什么:我想拦截该 HTML 按钮的点击。假设该 URL 中有一个电子邮件方案。我想拦截请求,以便在实际加载页面之前提取电子邮件信息(即主题、正文等)并打开电子邮件客户端。

问题是什么:我不知道如何获取 URL 并在 HTML 按钮单击时对其进行过滤。每当我们从 WebView 发出任何请求时,都应该触发一个事件。请指导如何完成此任务。

【问题讨论】:

  • 如果您知道要拦截什么 - 使用 WebViewClient 并覆盖 shouldOverrideUrlLoading(WebView wv, String url),解析 url,如果需要 - 开始新的意图。
  • 我已经使用过它,但它没有进入函数“shouldOverrideUrlLoading”。可能是因为我在 HTML 中有按钮?

标签: android android-webview


【解决方案1】:

首先,当你使用 html 时,你应该检查是否启用了 java 脚本

myWebView.getSettings().setJavaScriptEnabled(true);

其次你可以使用

myWebView.setWebViewClient(new WebViewClient()
  {
            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
            {
                // Handle the error
            }

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

当你点击一个 url 时,它会带你到这个函数 shouldOverrideUrlLoading 你可以调用一个意图或做任何你想做的事情

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 2016-07-18
    • 1970-01-01
    相关资源
    最近更新 更多