上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: 李恒道 - 

[油猴脚本开发指南]元素规则校验和检测的触发

[复制链接]
  • TA的每日心情
    开心
    2022-6-2 15:24
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    13

    主题

    56

    回帖

    79

    积分

    初级工程师

    积分
    79

    油中2周年

    发表于 2022-5-31 15:54:49 | 显示全部楼层
    李恒道 发表于 2022-5-31 15:53
    试一下呗
    我对react研究不深
    按道理instance也是有onchange的

    回复好快,大佬不用上班吗
    回复
    订阅

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    636

    主题

    5185

    回帖

    6068

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6068

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-5-31 16:17:36 | 显示全部楼层
    ozon 发表于 2022-5-31 15:54
    回复好快,大佬不用上班吗

    上班啊
    公司给我工资低
    所以比较轻松
    挖资本主义墙角~
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    862

    回帖

    1360

    积分

    荣誉开发者

    积分
    1360

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-5-31 22:45:13 | 显示全部楼层
    ozon 发表于 2022-5-31 15:51
    https://wwm.lanzouq.com/ioVBA05oqnfe
    大佬这种情况怎么处理,一个输入框,没有监听器
    尝试了这个,

    这样试试:
    1. const prop = Object.keys(ele).find(p => p.startsWith('__reactInternalInstance'));
    2. ele[prop].pendingProps.onChange(evt);
    复制代码
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-6-2 15:24
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    13

    主题

    56

    回帖

    79

    积分

    初级工程师

    积分
    79

    油中2周年

    发表于 2022-6-1 15:22:31 | 显示全部楼层

    感谢大佬,pendingProps里面没有onChange这个函数,昨天尝试了下,这句可以成功输入
    1.     const prop = Object.keys(ele).find(p => p.startsWith('__reactInternalInstance'));
    2. ele[prop]._wrapperState.onChange(evt);
    复制代码

    ,但是报错
    1. VM697 next.js:12 Uncaught Invariant Violation: ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched.
    2.     at r (https://g.alicdn.com/taefed/common-media-selector/0.6.100??lib/polyfill.min…js,lib/ReactRouterRedux.min.js,lib/redux-thunk.min.js,lib/next.js:12:26964)
    3.     at Object.l [as asap] (https://g.alicdn.com/taefed/common-media-selector/0.6.100??lib/polyfill.min…js,lib/ReactRouterRedux.min.js,lib/redux-thunk.min.js,lib/next.js:11:24035)
    4.     at m.a (https://g.alicdn.com/taefed/common-media-selector/0.6.100??lib/polyfill.min…js,lib/ReactRouterRedux.min.js,lib/redux-thunk.min.js,lib/next.js:10:25814)
    5.     at <anonymous>:6:25
    6. r        @        VM697 next.js:12
    7. l        @        VM697 next.js:11
    8. a        @        VM697 next.js:10
    9. (anonymous)        @        VM750:6
    复制代码


    现在打算将就着用了,在找跳过报错的方法
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    862

    回帖

    1360

    积分

    荣誉开发者

    积分
    1360

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-6-1 20:19:37 | 显示全部楼层
    ozon 发表于 2022-6-1 15:22
    感谢大佬,pendingProps里面没有onChange这个函数,昨天尝试了下,这句可以成功输入

    ,但是报错

    输出ele[prop]看一下吧。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-6-2 15:24
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    13

    主题

    56

    回帖

    79

    积分

    初级工程师

    积分
    79

    油中2周年

    发表于 2022-6-2 14:21:04 | 显示全部楼层
    本帖最后由 ozon 于 2022-6-2 14:38 编辑
    cxxjackie 发表于 2022-6-1 20:19
    输出ele看一下吧。

    是这样的console.log(ele[prop])

    1. m {_currentElement: {…}, _tag: "input", _namespaceURI: "http://www.w3.org/1999/xhtml", _renderedChildren: null, _previousStyle: null, …}
    2. _currentElement: {$$typeof: Symbol(react.element), type: "input", key: "input", ref: "input", props: {…}, …}
    3. _domID: 39
    4. _flags: 1
    5. _hostContainerInfo: {_topLevelWrapper: p, _idCounter: 250, _ownerDocument: document, _node: div#container, _tag: "div", …}
    6. _hostNode: input
    7. _hostParent: m {_currentElement: {…}, _tag: "span", _namespaceURI: "http://www.w3.org/1999/xhtml", _renderedChildren: {…}, _previousStyle: null, …}
    8. _mountImage: null
    9. _mountIndex: 0
    10. _namespaceURI: "http://www.w3.org/1999/xhtml"
    11. _previousStyle: null
    12. _previousStyleCopy:
    13. textIndent: undefined
    14. __proto__: Object
    15. _renderedChildren: null
    16. _rootNodeID: 34
    17. _tag: "input"
    18. _topLevelWrapper: null
    19. _wrapperState:
    20. controlled: true
    21. initialChecked: undefined
    22. initialValue: ""
    23. listeners: Array(1)
    24. onChange: ƒ ()
    25. valueTracker: {getValue: ƒ, setValue: ƒ, stopTracking: ƒ}
    26. __proto__: Object
    27. __proto__:
    28. createChild: ƒ (e,t,n)
    29. getHostNode: ƒ ()
    30. getPublicInstance: ƒ ()
    31. mountChildren: ƒ (e,t,n)
    32. mountComponent: ƒ (e,t,n,r)
    33. moveChild: ƒ (e,t,n,r)
    34. receiveComponent: ƒ (e,t,n)
    35. removeChild: ƒ (e,t)
    36. unmountChildren: ƒ (e)
    37. unmountComponent: ƒ (e)
    38. updateChildren: ƒ (e,t,n)
    39. updateComponent: ƒ (e,t,n,r)
    40. updateMarkup: ƒ (e)
    41. updateTextContent: ƒ (e)
    42. _createContentMarkup: ƒ (e,t,n)
    43. _createInitialChildren: ƒ (e,t,n,r)
    44. _createOpenTagMarkupAndPutListeners: ƒ (e,t)
    45. _mountChildAtIndex: ƒ (e,t,n,r,o,a)
    46. _reconcilerInstantiateChildren: ƒ (e,t,n)
    47. _reconcilerUpdateChildren: ƒ (e,t,n,r,o,a)
    48. _unmountChild: ƒ (e,t)
    49. _updateChildren: ƒ (e,t,n)
    50. _updateDOMChildren: ƒ (e,t,n,r)
    51. _updateDOMProperties: ƒ (e,t,n)
    52. constructor: ƒ m(e)
    53. __proto__: Object
    复制代码

    6660ff87785df7890443b2387a45a210[1].png
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-6-2 15:24
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    13

    主题

    56

    回帖

    79

    积分

    初级工程师

    积分
    79

    油中2周年

    发表于 2022-6-2 14:41:15 | 显示全部楼层
    本帖最后由 ozon 于 2022-6-2 14:43 编辑
    cxxjackie 发表于 2022-6-1 20:19
    输出ele看一下吧。

    console.log(ele[prop]._currentElement)
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    862

    回帖

    1360

    积分

    荣誉开发者

    积分
    1360

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-6-2 20:38:11 | 显示全部楼层
    ozon 发表于 2022-6-2 14:41
    console.log(ele._currentElement)

    这个感觉是对的,你试试_currentElement.props.onChange吧。
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-11-2 17:37
  • 签到天数: 275 天

    [LV.8]以坛为家I

    112

    主题

    447

    回帖

    964

    积分

    荣誉开发者

    积分
    964

    荣誉开发者油中2周年卓越贡献生态建设者

    发表于 2022-6-14 20:08:01 | 显示全部楼层
    都是大佬
    I frequently record, because want to leave something.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    636

    主题

    5185

    回帖

    6068

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6068

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-6-14 21:48:55 | 显示全部楼层

    主要cxxjackie牛逼
    开发指南很多的疑难杂症他指点的
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表