【问题标题】:Links auto-detection in WebViewWebView 中的链接自动检测
【发布时间】:2014-08-17 11:07:39
【问题描述】:

我有这样的 HTML

<body>
  <p>https://www.google.com</p>
  <p>foo@bar.com</p>
</body>

有没有办法告诉 WebView 自动链接内容,并像这样渲染:

<body>
  <p><a href="https://www.google.com">https://www.google.com</a></p>
  <p><a href="mailto:foo@bar.com">foo@bar.com</a></p>
</body>

【问题讨论】:

  • Is there any way to have WebView auto-link URLs and phone numbers in Android? 的可能副本。请检查 Harri 的答案和 azdev 的评论。
  • 还有一些关于 SO 的其他问题,但他们提出相反的问题 - 如何禁用链接的自动检测。这就是为什么我仍然想知道有什么简单的方法可以在 WebView 中启用自动检测...例如,参见这篇文章stackoverflow.com/questions/5472547/… 他们在 Android 源中也提到了 CacheBuilder.cpp - FindPartialAddress、FindPartialEMail、FindPartialNumber - 这似乎也与链接自动检测有关。

标签: android webview actionlink linkify


【解决方案1】:

简短回答:不。WebView 是一个网络浏览器,所以它会呈现一个 html 页面。你的 html 页面不包含链接,那为什么 WebView 会改变它呢?

长答案:您可以使用 WebViewClient 拦截页面加载,然后注入链接页面的 javascript。周围有大量基于 JQuery 的脚本。但请注意,此方法不是万无一失的,并且取决于加载的页面结构。对于像您的示例这样简单的事情,这将非常容易,但是如果您添加 HTML5 、动态内容、Iframe、异步内容......事情就开始变得复杂了。

【讨论】:

    猜你喜欢
    • 2021-08-01
    • 2019-01-27
    • 2018-01-11
    • 2014-06-11
    • 2011-07-31
    • 2012-11-27
    • 2013-03-12
    • 2012-03-10
    • 2012-09-24
    相关资源
    最近更新 更多