提问人:ontsin 提问时间:8/10/2023 最后编辑:freedomn-montsin 更新时间:8/11/2023 访问量:87
querySelectorAll 在 jquery 的 Chrome 中因异常而暂停
querySelectorAll paused on exception in Chrome in jquery
问:
我的项目是一个 Ruby on Rails 项目,它以前运行良好,但最近它停止在 Chrome 中工作。它在 Safari 和 Firefox 中运行良好。
当我打开开发人员工具窗口并刷新页面时,它会在加载过程中暂停几次以对我大喊大叫
🚫 Paused on exception DOMException: Failed to execute 'querySelectorAll' on 'Element': '\' is not a valid selector.
然后当我在休息时间玩的时候......
DOMException: Failed to execute 'querySelectorAll' on 'Element': '*,:x' is not a valid selector.
DOMException: Failed to execute 'matches' on 'Element': '[s!='']:x' is not a valid selector.
代码行是
el.querySelectorAll("\\\f");
el.querySelectorAll("*,:x");
matches.call(el, "[s!='']:x");
此问题分别发生在 sizzle.js 和 jquery.js 中。
调用堆栈只是依赖项,我什么也没写。
(https://i.stack.imgur.com/TamRZ.png)
大约一个月前,当我更新 Chrome 时,这个问题开始发生,所以我签出了一个分支并恢复到几个月前的提交。然后我破坏了 webpack 并重新编译了我所有的依赖项,因为我肯定我以前没有遇到过这个问题。唉,它也不起作用。
最新版本的 Chrome for MacOS 中是否存在一些错误?
答:
https://github.com/jquery/sizzle/blob/main/src/sizzle.js#L879
jquery 源代码中的这一行代码会引发异常。
确保 Chrome 的 Sources 开发工具未配置为Pause on uncaught exceptions
Pause on caught exceptions
评论
querySelectorAll()