浏览器是否提供任何预呈现钩子,在呈现DOM元素之前可以将更改应用到它们的样式上?
例如,我可能想将任何红色的颜色更改为绿色。
这个要求是对浏览器扩展的要求,所以解决方案应该在不同的网页上工作。重写元素的样式而不知道源代码的样式并不简单,因为元素的样式是运行在其上的CSS和Javascript的结果,而且不同网站的机制不同。脑海中浮现的方式有:
那么,这样的浏览器钩子存在吗?如果没有,你会推荐什么样的替代方法?
发布于 2019-01-20 16:42:33
发布于 2019-01-20 15:17:04
没有元素渲染钩子,没有。您可以在呈现下一个帧之前通过requestAnimationFrame请求回调(通常为每秒60帧),但这并不是进行您所想到的那种检查的好地方。
要捕获对单个元素的更改,可以设置突变观测器以捕获对其style属性的更改(通过在代码中设置style属性上的各种属性来更改该属性)。你会想看看这是否会变成一个性能问题。
因此,我怀疑您需要将您所描述的内容和上面的内容结合起来:
style属性的更改,以便在必要时响应这些更改https://stackoverflow.com/questions/54277787
复制相似问题