0

我正在开发一个使用 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 的情况下做到这一点

4

0 回答 0