跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 如何使用 js 完成“防撤回功能”?
未分類
20 4 月 2021

如何使用 js 完成“防撤回功能”?

如何使用 js 完成“防撤回功能”?

資深大佬 : woyao396 11

公司自己的 IM 是基于Electron构建的 可以调出控制台插入任意的 js 代码。

有个想法就是能不能实现从 dom 或其他层面实现防撤回,自己有个想法是:

监听 dom 移除的事件,然后如果是消息撤回相关的 dom 移除,就阻止移除或重新插入

不知道这个方案现不现实 能不能实现?

大佬有話說 (14)

  • 資深大佬 : cydysm

    不能禁用 devtools 吗

  • 資深大佬 : seki

    按照我的理解,IM 的信息不是发送到服务端里面储存,客户端只负责展示吗,用户删除 dom 的意义是什么

    然后其实是有办法禁止开发者工具和调试参数的,但这个不治本,因为用户最终还是可以打开 asar 做他想做的事情

  • 主 資深大佬 : woyao396

    @cydysm
    @seki
    我指的是用户怎么用 js 去实现防撤回的逻辑、不是 IM 的开发组禁止 devtools 之类的

  • 資深大佬 : Jirajine

    MutationObserver

    或者你直接 setInterval 轮询,不断读取 dom 列表,发现比之前少了就加回去。

  • 資深大佬 : xcstream

    理论上可以

  • 資深大佬 : Kasumi20

    您这套系统有点牛啊

  • 資深大佬 : zhuweiyou

    hook websocket 的 on message

  • 資深大佬 : ch2

    开 debuger,你自己撤回一次,然后断点 trace 到功能函数,然后把那个函数给 hook 掉使它无效

  • 資深大佬 : superrichman

    直接把撤回消息的函数干掉就完事了

  • 資深大佬 : BeautifulSoap

    防撤回应该没问题,但还不够。你还得把撤回的信息保存在本地动态插入加载。否则的话重启下软件拦截下的消息就没了

  • 資深大佬 : cereschen

    找到你想监听的 dom 然后重写 removeChild 就可以避免被删除元素了

  • 資深大佬 : meepo3927

    没太明白, 撤回功能是哪来的? 开发的吗?

  • 資深大佬 : crclz

    将所有消息再存一份即可

  • 資深大佬 : Roger006

    重写 [删除消息的函数] ,让它能执行,但不起作用

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具