我正在开发一个使用 Jquery 修改页面 HTML 的 chrome 扩展。如果已加载,这在许多 React 站点上不起作用。具体来说,我观察到反应站点会抛出这个:
react-dom.production.min.js:216
DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.
at Eu (https://tbsn.herokuapp.com/static/js/2.802c0af0.chunk.js:2:207399)
at xs (https://tbsn.herokuapp.com/static/js/2.802c0af0.chunk.js:2:219229)
at e.unstable_runWithPriority (https://tbsn.herokuapp.com/static/js/2.802c0af0.chunk.js:2:239845)
at (https://tbsn.herokuapp.com/static/js/2.802c0af0.chunk.js:2:162204)
at As (https://tbsn.herokuapp.com/static/js/2.802c0af0.chunk.js:2:217187)
at ys (https://tbsn.herokuapp.com/static/js/2.802c0af0.chunk.js:2:213273)
at https://tbsn.herokuapp.com/static/js/2.802c0af0.chunk.js:2:162427
at e.unstable_runWithPriority (https://tbsn.herokuapp.com/static/js/2.802c0af0.chunk.js:2:239845)
at (https://tbsn.herokuapp.com/static/js/2.802c0af0.chunk.js:2:162204)
at Wi (https://tbsn.herokuapp.com/static/js/2.802c0af0.chunk.js:2:162372)
是否可以使用反应站点抛出的 JS 来检测此 DOMException,以便我可以禁用该站点的 chrome 扩展
这就是我编辑 DOM 的原因。假设原始 html 是
<h1>Hello World</h1>
我需要在屏幕上突出显示“Hello”,所以我替换了 h1 元素的 innerHTML。结果将如下所示
<h1><span>Hello</span> World</h1>
通过这种方式,我可以添加 CSS 样式以突出显示“Hello”这个词。我想知道是否有另一种方法可以在不直接使用 DOM 的情况下做到这一点