【问题标题】:How to get word on indicated location on WKWebView?如何获取 WKWebView 上指定位置的信息?
【发布时间】:2016-11-21 07:20:18
【问题描述】:

当你在WKWebView网页上长按一个词时,你会选择它,系统会弹出一个菜单让你分享/复制/查找它等等。这是 iOS 的默认行为。

所以我的问题是,如何以编程方式从 WKWebView 网页上的指示点 (CGPoint) 获取单词

或者,如何在不长按的情况下以编程方式在 WKWebView 网页上选择单词

任何建议表示赞赏!

【问题讨论】:

标签: ios uiwebview webkit wkwebview


【解决方案1】:

首先,您必须使用convertPoint:toView: 将点转换为滚动视图的坐标系。您可以在 Javascript(使用 jQuery)函数中使用这一点,该函数将在此时搜索 DOM 节点:

function(inX, inY) {
    var theWindow = $(window);
    var theElement = document.elementFromPoint(
        inX - theWindow.scrollLeft(), inY - theWindow.scrollTop());

    return theElement == null ? null : theElement.textContent;
}

【讨论】:

  • 不适合我。来自 webView.evaluateJavaScript 的错误说 $ 未定义。在我用 window 替换 $(window) 后,它说 scrollLeft 是未定义的。
  • 所以我把脚本编辑成这样:var theElement = document.elementFromPoint(\(point.x), \(point.y)); theElement == null ? null : theElement.textContent; 现在它可以在point 上给我一些内容,但是给我一个词,它给了我一个完整的句子,这不是我的预期。
  • 你必须包含 jQuery 才能让 $-expressions 工作。
  • 嘿,对不起,你能告诉我如何在 wkwebview 中添加 jquery 吗?我做不到。
  • 您可以将jQuery加载到一个字符串中并使用developer.apple.com/documentation/webkit/wkwebview/…执行它
猜你喜欢
  • 2013-05-10
  • 2020-01-03
  • 2013-04-23
  • 1970-01-01
  • 2014-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多