【问题标题】:How to handle links in HtmlView-Component如何处理 HtmlView-Component 中的链接
【发布时间】:2020-05-22 12:35:37
【问题描述】:

我们有一项为我们提供新闻提要的服务。此提要是一系列不同的文章。每篇文章都有一个属性“html”,其中包含用 HTML 编写的内容。

现在恰好一篇文章包含一个链接 Link。

在我喜欢用 NavtiveScript-Vue 编写的应用程序中,我使用 HtmlView 组件显示 HTML 代码。

如何让我的应用对链接做出反应?我已经考虑过点击链接时 HtmlView 组件可能会发出一个事件。不幸的是,这种情况并非如此。

你有什么想法吗?谢谢!

【问题讨论】:

  • URL、电话、电子邮件等链接将被自动处理。如果您想自己处理它们,请使用带有github.com/Notalib/nativescript-webview-ext 的 WebView 或者您必须在 HtmlView 的情况下本地实现手势 - 类似于 stackoverflow.com/questions/1256887/…
  • 感谢您的快速回复。我会看一下nativescript-webview-ext。直到现在我还没有使用 WebView 因为我必须为组件设置一个特定的高度。 HtmlView 采用它需要的高度...
  • 是的,您必须设置一个高度,但这应该可以通过在 WebView 上下文中计算文档高度并将值发送回 NS 并在 WebView 本身上应用高度来实现。
  • 听起来是个好主意。谢谢你。然后我会检查一下并在这里发布我的结果。 :-)
  • 一件事:如何计算 WebView 的高度?我通过注入一个 js 文件“window.document.body.getClientHeight”进行了尝试,但这不起作用......

标签: nativescript nativescript-vue


【解决方案1】:

我建议使用基于openURLregex 的解决方案。

 const regex = /(?:(?:<\/?\w+>)+|[^<>]+)/g;
 function extract(html) {
      openUrl(`mailto:${html}`);
    }

【讨论】:

    猜你喜欢
    • 2019-11-12
    • 2011-09-10
    • 2015-08-13
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多