在页面绘制之前运行chrome扩展内容脚本

时间:2013-09-13 03:38:58

标签: javascript jquery google-chrome-extension

我正在开发扩展到网站的Chrome扩展程序(添加其他菜单项和诸如此类的东西)。我希望内容脚本在绘制DOM之前运行,否则用户会以相当显着的方式看到内容弹出。

我在清单中设置了run_at,它将在使用document_start绘制之前加载,问题是我需要访问DOM,然后在它出现之前触发。

也许更简单的方法是我正在寻找一种方法来修改dom(或加载它的特定部分)之后但在渲染之前修改dom。

3 个答案:

答案 0 :(得分:0)

您的脚本可以监听DomContentLoaded事件,然后使用加载的DOM进行操作。请参阅examples如何创建此类事件处理程序。

答案 1 :(得分:0)

一个可能的想法是使用JQuery悬停,所以菜单是不可见的,除非它们悬停在某个DOM元素上?

YouTube上的这个人非常聪明,你可能会发现他的幻灯片动画教程很有用:

http://www.youtube.com/watch?v=WKf6i4VspF0

答案 2 :(得分:0)

试图挤入接收DOM节点和正在呈现的节点之间的差距可能是没有希望的。

一种可能的解决方案是在document_start上添加整页覆盖(纯不透明白色或更多信息,如“正在加载”)以在DOM加载时屏蔽页面,然后将您的DOM插入{ {1}}然后移除叠加层。