我正在开发扩展到网站的Chrome扩展程序(添加其他菜单项和诸如此类的东西)。我希望内容脚本在绘制DOM之前运行,否则用户会以相当显着的方式看到内容弹出。
我在清单中设置了run_at
,它将在使用document_start
绘制之前加载,问题是我需要访问DOM,然后在它出现之前触发。
也许更简单的方法是我正在寻找一种方法来修改dom(或加载它的特定部分)之后但在渲染之前修改dom。
答案 0 :(得分:0)
您的脚本可以监听DomContentLoaded事件,然后使用加载的DOM进行操作。请参阅examples如何创建此类事件处理程序。
答案 1 :(得分:0)
一个可能的想法是使用JQuery悬停,所以菜单是不可见的,除非它们悬停在某个DOM元素上?
YouTube上的这个人非常聪明,你可能会发现他的幻灯片动画教程很有用:
答案 2 :(得分:0)
试图挤入接收DOM节点和正在呈现的节点之间的差距可能是没有希望的。
一种可能的解决方案是在document_start
上添加整页覆盖(纯不透明白色或更多信息,如“正在加载”)以在DOM加载时屏蔽页面,然后将您的DOM插入{ {1}}然后移除叠加层。