首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Android

webview 如何获取 用户点击的元素

  •  
  •   ksssdh123 · 132 天前 · 1237 次点击
    这是一个创建于 132 天前的主题,其中的信息可能已经有所发展或是发生改变。

    尝试用过 webview 自带的 HitTestResult,但是获取不到那种没点击事件的元素

    目前我的需求是 当点击某个元素,能获取其元素的文本内容(其实我就是想监控网页内容的文本)

    jsoup 的作为解析 html 很强大 但是还不够智能,我想通过用户点击某个元素,然后设置下某个规则,例如价格小于或高于等等,然后通知用户

    我知道有个 App 已经实现了,但我不知道是如何做的,反编译都是混淆过的 还是没看明白,如下图

    https://pic.t6q.com/up/2016-12/2016127111140108200.png

    红圈圈里的 就是用户点击的 html 元素

    10 回复  |  直到 2019-08-01 08:50:11 +08:00
        1
    pual   132 天前 via Android   ♥ 1
    webview 为元素添加点击监听的 js 代码,在那段代码中调用 webview 注解的 addjavascriptinterface 的 Java 方法
        2
    ksssdh123   132 天前
    @pual 每一个元素 都加一个?
        3
    loginbygoogle   132 天前   ♥ 1
    js 注入
        4
    shawndev   132 天前
    注入 onclick, onfocus 方法?
        5
    crystom   132 天前
    给整个 body 添加一次点击事件,好像事件中 e.target 是被点击的元素
        6
    wsxyeah   132 天前 via iPhone
    直接在页面里用 js 做咯,不要用 native 做
        7
    ho121   132 天前 via Android
    没做过,不过可以提供一个思路:微信长按保存图片
        8
    deepdark   132 天前 via Android
    js 里做就好了
        9
    sarlanori   131 天前
    我说个笨办法,直接获取点击位置坐标,遍历所有元素,判断点击点在哪个元素里就可以了
        10
    ksssdh123   131 天前
    最终解决思路 就是需要进行监控的元素 设置一下 onclick 事件,然后回调原生 其实就是 js 注入 感谢 1,3 楼
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2990 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 11:17 · PVG 19:17 · LAX 03:17 · JFK 06:17
    ♥ Do have faith in what you're doing.