如何获取 WKWebView 上指定位置的信息?
Posted
技术标签:
【中文标题】如何获取 WKWebView 上指定位置的信息?【英文标题】:How to get word on indicated location on WKWebView? 【发布时间】:2016-11-21 07:20:18 【问题描述】:当你在WKWebView网页上长按一个词时,你会选择它,系统会弹出一个菜单让你分享/复制/查找它等等。这是 ios 的默认行为。
所以我的问题是,如何以编程方式从 WKWebView 网页上的指示点 (CGPoint) 获取单词?
或者,如何在不长按的情况下以编程方式在 WKWebView 网页上选择单词?
任何建议表示赞赏!
【问题讨论】:
你看过 DOM 选择范围吗? ***.com/a/2214120/218152 检查这个问题***.com/questions/31175224/… 【参考方案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/…执行它以上是关于如何获取 WKWebView 上指定位置的信息?的主要内容,如果未能解决你的问题,请参考以下文章
如何有效地为许多产品提供 1 个 html 布局页面,这些产品将调用 mysql 数据库获取产品信息并插入我指定的位置?