首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EvalError: Google调试评估的可能副作用

EvalError: Google调试评估的可能副作用
EN

Stack Overflow用户
提问于 2022-05-26 18:37:23
回答 2查看 13.8K关注 0票数 38

每当我试图计算一个表达式时,我都会在Chrome控制台中得到这个错误。

代码语言:javascript
复制
EvalError: Possible side-effect in debug-evaluate

是什么引起的?

EN

回答 2

Stack Overflow用户

发布于 2022-05-27 07:48:16

我想我发现了这个问题,我在一个电子问题板上读了一遍讨论

这可能是由以下原因引起的:添加用于调试评估的自定义错误分派机制。

并希望在这方面得到修正:[检查员]不要在禁用副作用的情况下触发window.onerror。

这是https://crrev.com/c/3557234中的一个疏忽,这导致了一种非常奇怪的开发体验:一旦安装了window.onerror处理程序,输入控制台或其他无副作用的调试评估就会触发这个处理程序。

票数 34
EN

Stack Overflow用户

发布于 2022-06-13 22:10:11

您正在检查的网站包含一个onerror事件侦听器。

每次在DevTools中计算表达式时,Chrome最新版本中的一个新bug都会触发此事件。这包括实时表达式和控制台。

如果这是您自己的网站,请将这行JavaScript添加到您的事件侦听器中,以忽略在脚本之外触发的任何错误,其中script是事件侦听器函数的第二个参数:

代码语言:javascript
复制
if(!script.endsWith(".js")) return;

请注意,这只适用于外部JavaScript (在.js文件中),对于嵌入在HTML<script>标记中的JavaScript,它将完全禁用事件侦听器。

如果这不是您的网站,您可以在DevTools中暂时禁用事件侦听器,如下所示:

  1. 在DevTools顶部,打开“元素”选项卡
  2. 按“?”,右边是“样式”、“计算”、“布局”。
  3. 选择“事件侦听器”
  4. 查找并展开"onerror“
  5. 单击“移除”

这将删除事件侦听器,但问题将在刷新页面后返回。

希望下一个版本的Chrome能解决这个问题。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72396527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档