惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
博客园_首页
量子位
博客园 - 司徒正美
S
SegmentFault 最新的问题
J
Java Code Geeks
小众软件
小众软件
博客园 - 【当耐特】
The Register - Security
The Register - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
T
Tailwind CSS Blog
博客园 - Franky
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
G
GRAHAM CLULEY
Cyberwarzone
Cyberwarzone
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
F
Full Disclosure
D
DataBreaches.Net
Martin Fowler
Martin Fowler
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 最新话题
云风的 BLOG
云风的 BLOG
C
Check Point Blog
T
Threatpost
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
W
WeLiveSecurity
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
Lohrmann on Cybersecurity
Last Week in AI
Last Week in AI
T
Tor Project blog
T
Troy Hunt's Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security Affairs
SecWiki News
SecWiki News

博客园 - 金石碼农

邓安庆的贴地叙事:最简单的东西,往往最复杂 不是1M上下文的不用,不是免费大模型不用,全面实现 token 自由 RustPress 零成本博客,它承载了我的软件开发思想 只用了 3 分钟,我把那个按钮钉在了主页上 太不真实了!以前一周的活儿,现在一天干完,连边框都得听我的 别做网页了,以后智能体就是交互终端 以后写代码也得考驾照?别笑,这是未来编程的常态 她一年涨 7 万粉,只用了这几点社交平台的“笨办法” 怒开 3 个 agy CLI 账号!我是怎么在老 Intel Mac 上实现顶级模型 Token 自由的? 从命令行到桌面自动化:AI辅助创作的黄金方案 你越休息越累的真正原因,藏在一个被忽略的常识里 别再当信息垃圾收集器了!我体验了 CatReader,AI 伴读确实爽,但也有几个槽点 摸头石头编程 如何在 agy 中高效管理 AI Skill? 折腾谷歌最新 SDK 两天后,我发现开源软件已经没必要写给人类看了 第三天了,你的谷歌Antigravity还能跑吗? 一天干完一百万字,谷歌 agy 这个工具简直是头不要命的洪水猛兽 提示语工程的新六条 谷歌发布 Antigravity 2.0:界面干净了,但我怎么感觉又被“白嫖”了? 都 2026 年了,竟然还有人在翻我 2023 年的“保姆级”旧贴? Vide Coding 经验总结,核心五点 Mise 是一种好软件 我用 AI 写了四五个软件之后的总结 板栗是人是狗? 写福字 那个把代码当拖拉机修的小镇青年,活成了王阳明眼中最好的状态 如梦令·雪后 论狂 有一个家伙说 Vide Coding 上瘾 龙骨 openclaw 能干多少事,取决于我们给它多少权限 无敌脚本批量删除私有笔记 社区终端软件支持 brew 安装了 社区终端发布新版,进一步去掉枷锁,让使用更简单 继 Claude Code 之后,Anthropic 又推出了 Cowork,为非程序员服务 人间美味——胡萝卜炒包菜粉丝 成为三剑客很难,手持两股剑倒有可能 手机和相机的区别是什么? 酒取阅自己,香水取阅他人 感觉又回去了
为什么 AI 给的代码,鼠标一点就消失了?
金石碼农 · 2026-05-17 · via 博客园 - 金石碼农

为什么 AI 给的代码,鼠标一点就消失了?

你有没有遇到过这种诡异的情况:

想在某网页自动化向标题控件输入点东西,直接问 Copilot,AI 很有礼貌地甩给你一段代码:

document.querySelector(...).value = 'xxx'

你信心满满地贴进 Console 运行——成了!文字输入进去了!

正当你准备喝口咖啡庆祝时,手指轻轻点了一下页面的其他地方,或者动了一下鼠标,刚才输入的文字啪的一声,没了。

为什么“直接”输入法失效了?

原因很简单,你面对的是 Vue、React 或者 Angular 开发的“响应式”页面。

在这些框架的世界里,DOM(你看到的输入框)只是一个被动的“影子”。真正握着数据的,是框架内部的 State(状态对象)

你刚才那行代码,只是把数据涂在了DOM上,而没写进背后的State对象里。一旦页面发生任何交互(比如你点了一下鼠标),框架就会重新“对账”。它发现账本里是空的,于是反手就是一个“一键清空”。

那么问题来了:既然我们不知道它是 Vue 还是 React,也不知道它的账本(数据对象)藏在哪里,怎么才能“骗”过框架,把数据焊死在里面?

原型链 Setter 降维打击(附硬核代码)

不需要去翻它的源码,不需要去分析它的状态库。我们要用 JS 的原型编程特性,直接在底层拦截。具体逻辑分三步:

1,抢夺 Setter:跳过当前实例,从原型链(__proto__)里挖出最原始的 value 设置器。

2,强制写入:通过 call 把我们的数据塞进去,绕过框架的浅层拦截。

3,制造“既成事实”:手动派发 inputcompositionend 事件,告诉框架:“别睡了,数据真的变了,快同步到你的账本里去!”

代码示例(Console 专用):

(function() {
  const el = document.querySelector('input[placeholder*="标题"], textarea[placeholder*="标题"]');
  const text = "这是我真正写入的数据";

  // 1. 设置 value(必须从原型链上挖 Setter,直接赋值会被框架拦截)
  const setter = Object.getOwnPropertyDescriptor(el.__proto__, 'value').set;
  setter.call(el, text);

  // 2. 派发 input 事件(这是触发布全量同步的关键)
  el.dispatchEvent(new Event('input', { bubbles: true }));

  // 3. 中文场景必杀技:模拟合成结束
  el.dispatchEvent(new Event('compositionend', { bubbles: true }));

  // 4. 兜底:触发 change 事件
  el.dispatchEvent(new Event('change', { bubbles: true }));

  console.log(" 写入成功!即使 React/Vue 渲染也不会消失了。");
})();

经验,仍然是 AI 时代的“硬通货”

这段代码不难,但为什么很多人试了半天也不一定能搞定,即使用 AI 也是如此。现在 AI 是很强大,但开发中有些问题,还是需要经验的。

经验在 AI 时代有两个不可替代的价值:

1,诊断力:知道问题为什么出现(比如识别出是响应式状态同步问题,而不是简单的选择器失效)。

2,提问力:知道该怎么提问(如果你只会搜“JS 输入不生效”,AI 会给你推一堆垃圾代码;如果你搜“React input setter hack”,答案秒出)。

如果你连问题出在哪都不知道,你根本无法向 AI 下达精准的命令。

一切都是为了效率。如果不能在 3 分钟内解决这种“见鬼”的小问题,拥有再强的 AI 也是徒劳。真正的效率,是让 AI 成为你的助手,而“经验”能让这个助手高效发挥作用。

2026年05月17日

封面