我正在开发一个在网站上扩展的 chrome 扩展(添加额外的菜单项等等)。我希望内容脚本在绘制 DOM 之前运行,否则用户会以一种相当显着的方式看到内容弹出。
我已经在清单中设置了run_at
,它会在它绘制之前加载 using document_start
,问题是我需要访问 DOM,并且在它存在之前触发。
也许更简单的说法是我正在寻找一种在加载(或加载它的特定部分)之后但在渲染之前修改dom的方法。
我正在开发一个在网站上扩展的 chrome 扩展(添加额外的菜单项等等)。我希望内容脚本在绘制 DOM 之前运行,否则用户会以一种相当显着的方式看到内容弹出。
我已经在清单中设置了run_at
,它会在它绘制之前加载 using document_start
,问题是我需要访问 DOM,并且在它存在之前触发。
也许更简单的说法是我正在寻找一种在加载(或加载它的特定部分)之后但在渲染之前修改dom的方法。
您的脚本可以侦听 DomContentLoaded 事件,然后使用加载的 DOM 进行操作。请参阅如何创建此类事件处理程序的示例。
一个可能的想法是使用 JQuery hover 这样菜单是不可见的,除非它们悬停在某个 DOM 元素上?
YouTube 上的这个人真的很聪明,你可能会发现他的幻灯片动画教程很有用:
试图挤进接收 DOM 节点和它被渲染之间的间隙可能是没有希望的。
一种可能的解决方案是在 DOM 加载时添加整页覆盖(纯不透明的白色或更多信息,如“加载”)document_start
以屏蔽页面,然后插入 DOM,$(document).ready()
然后删除覆盖。