如何在Google控制台中调用指定的LUCKY_POT相关JS函数?
调用方法说明
你给出的目标函数代码如下:
e[dt.a.LUCKY_POT] = function(e) { return j.createElement(j.Suspense, { fallback: null }, j.createElement(bt, { onClose: function() { return m(e) }, notification: e, userId: null == d ? void 0 : d.id })) }
这个是React框架的组件渲染函数,按照以下步骤操作即可在Chrome控制台调用:
- 先确认函数挂载对象和依赖变量的可访问性:函数被挂载在
e[dt.a.LUCKY_POT]上,同时依赖j(React导入别名)、bt(自定义组件)、m(关闭事件处理函数)、d(用户信息对象)这几个外部变量。如果这些变量没有暴露到全局作用域,打开浏览器Sources面板找到这段代码的定义位置,在函数定义行打一个断点,等页面代码执行到断点位置时,在调试器的Scope面板右键每个需要的变量,选择「Store as global variable」即可将变量暴露到全局供控制台调用。 - 构造入参:该函数需要传入一个
notification类型的参数,你可以按照业务逻辑构造测试参数,例如:const testNotification = {id: 'test_001', content: '测试内容'} - 执行调用:直接在控制台运行
e[dt.a.LUCKY_POT](testNotification)即可拿到返回的React元素。如果需要把组件渲染到页面上,额外执行ReactDOM.render(e[dt.a.LUCKY_POT](testNotification), document.body)即可,注意把ReactDOM替换为你项目中对应的导入别名。
注意:如果页面代码做了严格的作用域隔离,断点也无法获取到对应变量的话,就无法直接在控制台调用该函数。
内容的提问来源于stack exchange,提问作者Roel Bellemans
相关产品推荐
相关产品推荐

