【问题标题】:Android WebViewClient, onErrorReceived not being called when there is a 404Android WebViewClient,有404时不会调用onErrorReceived
【发布时间】:2011-02-26 00:00:38
【问题描述】:

我有一个 WebView,其中一个 WebViewClient 定义了 onErrorReceived 和 onPageFinished。

onPageFinished 被正确调用,所以我知道 WebViewclient 已正确附加到 WebView。但是,WebView 中有一些 javascript 调用:

location.href="http://kernel.org/asdf/asdf/asdf/asdf";

即使是 404,也不会调用 onErrorReceived 侦听器。它不适用于 javascript 调用吗?

编辑:经过一些测试,我发现此函数不会报告任何 404。我在这里设置了一个测试项目:http://vimtips.org/media/WebViewTest.zip

此方法似乎不能用于测试 404。有人知道这样做的方法吗?

【问题讨论】:

标签: android


【解决方案1】:

situation之后,会调用onErrorReceived。

  • ERROR_AUTHENTICATION 服务器上的用户身份验证失败
  • ERROR_BAD_URL 网址格式错误
  • ERROR_CONNECT 连接服务器失败
  • ERROR_FAILED_SSL_HANDSHAKE 未能执行 SSL 握手
  • ERROR_FILE 通用文件错误
  • ERROR_FILE_NOT_FOUND 文件未找到
  • ERROR_HOST_LOOKUP 服务器或代理主机名查找失败
  • ERROR_IO 读取或写入服务器失败
  • ERROR_PROXY_AUTHENTICATION 代理上的用户身份验证失败
  • ERROR_REDIRECT_LOOP 重定向过多
  • ERROR_TIMEOUT 连接超时
  • ERROR_TOO_MANY_REQUESTS 加载期间请求过多
  • ERROR_UNKNOWN 一般错误
  • ERROR_UNSUPPORTED_AUTH_SCHEME 不支持的身份验证方案(非基本或摘要)
  • ERROR_UNSUPPORTED_SCHEME 不支持的 URI 方案

实际上,上面的列表中没有一个 HTTP 响应代码。

【讨论】:

    【解决方案2】:

    这是不可能的。至少,不是以一种非 hacky 的方式。

    【讨论】:

    • 你能详细说明一下吗?
    猜你喜欢
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 2011-06-30
    • 2013-08-09
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    相关资源
    最近更新 更多